The best advice I have ever gotten about practicing is that you should take a song you're learning, and only play the song at the speed which you can execute it flawlessly. Think about that for a minute. When you practice a song you will eventually get to a part of the song which is difficult for you. Instead of trying to play the song at full speed and fumbling over the difficult passage each time you go through it, you need to slow down.
A good phrase to describe this is "isolate the difficulty". You should choose a difficult section and focus on playing only that section at a much slower speed over and over until you can play it perfectly with the correct rhythm even if you still can't play it a full speed. You will be amazed how quickly your fingers can learn to go from half speed to full speed once you learn the part well at half speed. It's certainly much faster than trying to learn something at full speed and fumbling over it every time. Steve Morse wisely expresses the idea as "To play fast, first you must play slow".
My two favorite tools for "isolating the difficulty" are an audio player program called the Amazing Slow Downer and a tab program called Guitar Pro. The ASD allows you change the tempo without affecting the pitch, although you can change the pitch if needed to match your tuning. It also allows you to isolate any section of the song you want to practice repeatedly. I'll save those sections so they are always easily brought up for practice, e.g. the solo section of "Back in Black". Guitar Pro is primarily a tab based tool for learning songs, but it is also has the capability to import midi, powertab, tabledit, and ascii files. It also features a sample engine called the RSE or realistic sound engine which results in more realistic guitar and bass sounds.