Mic placement is the key imo.
Fancy elaborating on that (where you put the mic) or is it a secret? 
I could tell you, but I'd have to kill you
It's no big secret really - put the headphones on and move the mid across the speaker cone so you get an idea of the tone at various points of the speaker. Then try changing the angle that the mic faces the speaker cone.
What works for me is positioning the mic 45degress to the cone between the edge and middle of the speaker.
I also use two mics to get a bigger tone. The SM57 doesn't have much bass, but it has lots of midrange to help your tone 'cut'. I then mix in a cheap Shure Prologue SM58 that has a hollow midrange and lots of bass - fills in the gaps in the SM57's tone spectrum.
I also like the mics touching the grillcloth if you've got the amp fairly quiet to make use of the proximity effect. If the amp is louder you've naturally got more bass so you can back the mic off upto a foot so it 'sees' more of the speaker and captures a broader frequency range.
:twisted: