After a good recording, one of the most important reasons that makes a mastered track sound great, is a good mix.
Having had a long time experience in composing and arranging, to me, the most appealing field in sound engineering is mixing.
It's a great advantage to be able to mix and master the same song or album, because there are many issues that appear only during the mastering stage, thus having the mixing session in hand is a great benefit.
Make as much contrast as you can in your mix, this way everything will be audible and defined, and nothing gets lost in the crowd. This may be done with EQ, panning and reverb. If two elements sound alike try to separate them by panning them away from each other, making some EQ changes like boosting a specific frequency in one and cutting the same frequency in the other, pushing one of them to the back by more reverb and the other one to the front by less (also remember that to push an element to the back needs a little high freq. cut).
One of The worst issues in mastering is a mix that has a singer as bright as the hi-hats and ride cymbals, and worst than that is a singer brighter than the hi-hats. In the first case brightening the master will cause the singer to ESS, in the second case we can't brighten the master at all, because it won't do any good for the whole song it just sounds like a dull song with an ESSY singer, it can be fixed with MS techniques a little but that will also affect other parts like the kick and snare drum and still won't sound good. So lets just keep the high frequency balance between the singer and the hi-hats and rides, the hats should be a little brighter, and don't forget the relative brightness of the singer to the whole mix either, be careful not to make the singer too bright.
Multi-band dynamics processing, this is done by a good digital multiband compressor and two digital uni-band dynamic processors. This is done mainly on the bass and low-mid frequencies, the high and mid-range frequencies can also benefit from this stage. the changes may seem subtle right now but after the compressors get in, it shows itself by the great sounding and punchy kick drum and the controlled and softened mid-range.
One of the factors that determine the overall amount of reverb you use, is the tempo of your song. Using a lot of reverb specially for the singer in a fast song harms the beat's rigidity and kills the punch.
The kick drum is one of the most important elements in making your song sound punchy or even ruin the dynamics of your song. It is also the loudest part in a stereo mix file that's going for mastering. so be careful with it, first get the best sound out of it, adjust the bass till you get a good sound and a distinctive sound in relation to the bass guitar, adjust the attack (should be in the mid-range or high mids), compress it and make sure it has the loudest sound with the lowest possible peak and it doesn't lose its punch while compressing.
After that mix the rest of the tracks one by one. If you mix everything before the kick, you will need to make the kick drum louder and louder and you don't have enough headroom, then you need to bring everything down and run into numerous problems.
To add more body to your drum section, use parallel compression. Create an AUX track, insert a compressor with a fast attack and slow release setting, then a tube or tape distortion plugin into the track. Send some of your kick drum, snare and tom's signal to this track so that it has a pump and breathing sound because of heavy compression. Add this to your mix with a low level. Beware of phasing problems if your DAW doesn't have delay compensation for plugins that have latency.