H2 will probably have about the same sound quality as the SM58, but it will provide you with a stereo mix. Why not spring for an H4N and get a few more inputs?
What kind of drums are you trying to record? A set, or an actual big drum? There are different answers for each of these.
If you're trying to record a set, I would record directly overhead with a stereo setup like the H2 or a pair of AKG Perception series mics. They're not expensive and it sounds like you're on a budget. Your drummer will need to be more tempered on his cymbal hits because of the mic placement, but you can (with a little work) get a nice, usable mix from just a stereo pair overhead. Ideally, you'd go with something a bit bigger - mic the snare (top and bottom if you can), stereo pair overhead for cymbals, mic the tom bottoms, and one in the kick's hole. I think CAD has a good little set for micing.
You also want to decrease the distance between your mic(s) and your source. In a room, you'll get 2nd, 3rd, 4th, etc reflections that are nearer to your original source level that will muddle the recording. As high a source level you can get with quieter reflections will result in something more usable.
If you're recording a true big drum (which I think you are not), you'd want something with a great low-end response like a Beta 52.
A note on the SM-series mics - they are designed for live shows in rough environments and were designed what seems like 100 years ago with no changes since. Think punk rockers who like to swing the mic and end up dropping it a few times. It's built like a tank, but has the dynamics and response to match - not very nice, but sturdy and a good workhorse if you're not doing anything too high end in the LIVE environment. Recording/studio mics are an entirely different matter. They're more delicate, but you get a 1000 times better recording.
BOTTOM LINE: Really anything is better than your current setup (mic far away and of low quality). H2 good, H4N better, and any sort of nice small capsule condenser mic pair will be even better.