Reduce bleed from snare and toms?

Get as much distance between the drums and cymbals as you can.
Mess with the spot mic positions to find the best rejection of cymbals.
Try your best to get the drummer to lay off the cymbals and batter the shit out of the shells.
Get some Auralex expanders (or something similar) and place them on your spot mics to help cut down bleed.
Swap out his loud as fuck cymbals for something quieter if possible. Big thick 22" rides just aren't necessary for studio work tbh.
Don't position the drums up against a wall. If the drummers back is up against a wall then reflections from the cymbals will bounce back into the front of your drum mic's.

Really though 90% of it is how the drummer sets up and plays his kit. If he doesn't have this right then you're probably going to struggle.
 
1 - try to minimize the bleed during tracking, so for example putting the mic snare not towards the hat can help you.
2 - use some trigger like Roland or ddrum ones recording only the signal in order to replace them with some samples (Slate Trigger is a great option for that). You have simply to apply them to each drum (kick, snare and if you need tom), connect directly to your pre and record the click signals, of course check them with attention!
3 - Record each drum separately with different dynamics to have your own 'clean' samples. You can use them as your main sounds or simply to replace not good hits.
4 - If needed, cut by hand tom tracks when toms don't play (you can use your own tom sample at the end of a fill).
5 - Gating the snare via sidechain, using Transient designer etc are all great ways that can help you!
 
Here's what i do for snare gating. gotta give credit to milar for this one...
Other than all the thins you guys have already mentioned ,
I take a copy of the triggered snare or kick , shift it back 10ms and send it to the side chain input of the gate on the kick and snare mic track. Gate only opens on actual hits, and opens a little before to stop the transient getting fucked with.
Mint
 
Slate Trigger + Roland Triggers = Easiest drum replacement available on the market today. Incredibly accurate and easy to use.
 
Here's what i do for snare gating. gotta give credit to milar for this one...
Other than all the thins you guys have already mentioned ,
I take a copy of the triggered snare or kick , shift it back 10ms and send it to the side chain input of the gate on the kick and snare mic track. Gate only opens on actual hits, and opens a little before to stop the transient getting fucked with.
Mint

I'm surprised the gates you guys are using don't have a "lookahead" variable, where you can basically set the gate to open a few ms before it actually finds a transient.