Ivysaur
Ivysaur, without a doubt, does the best in this matchup. He's capable of preventing Snake from grenade countering because of Razor Leaf spam into Ftilt, which is a feat at long range. Yukiwarashi was able to keep pressure on me using a full hop double Razor Leaf > close range Ftilt into Dtilt.
Snake is most vulnerable in the air, that's a given. Anything can keep Snake in the air, use it. Though, Ivysaur truly does not have many options for off the stage edge guarding. As Steeler said, Ivysaur's UpB vine is something you should think about setting up as Snake is Cyphering, but a Snake player can prevent this by Cyphering vertically from the stage and FFing/air dodge quickly back on. Also, in this situation, if Snake pulls out a grenade when falling back to the stage it may discourage the Ivysaur player to vine whip or approach. Other than that, Razor Leaf can rack up damage off the stage, heh.
Against Ivysaur I encourage not to use yr C4 on the stage simply because of Ivysaur's grab range. It can reach pretty far off the stage which could be trouble for Snake. This way, if yr incapable of recovering with yr Cypher away from the stage and get grabbed, you can C4 yrself and get back on. Costs a bit of percent, but nothing Snake can't dish back out.
Unfortunately, Razor Leaf can only do so much. When Snake isn't holding a grenade he is able to Ftilt Ivysaur's Razor Leaf barrage. If an Ivysaur player spends the whole match Razor Leafing his stamina will drop extremely fast and Snake will have taken little to no damage.
I believe what works best for spacing is Bair > Fsmash/Ftilt, Fsmash > Dtilt, or any variant using those three moves. Fsmash to bait Snake in, and since both D and Ftilt are quick you can get them in before the shielding or approaching Snake has time to tilt you to death. I would suggest Ftilt unless you are getting too predictable since Dtilt may have a little less priority than Ftilt.
Ivysaur's dash attack, Tackle, has great knockback. Use it for mix up off Razor Leaf or moves with lots of end lag.
Out of shield close range, a Nair > bulletseed works wonders on Snake because of his heavy weight. Guaranteed atleast 60%. Otherwise I wouldn't be in the air all that much unless you are pressuring with Razor Leaf because it will encourage plenty of grenade shielding. If yr going to be in the air and are bent on spacing with an aerial, use bair. It's autocancelled and easy to spam and not easy to punish whereas weaving in and out with Fair can be deadly for Ivysaur. The thing is about this is that you can easily perfect shield Ivysaur's fair, but not bair because of its multihit, so keep that in mind.
For Snake, it's very easy to edgeguard Ivysaur. Ftilting Razor Leaf until you get close, or perfect shielding, can lead to you pushing Ivysaur towards the edge or off the edge. Because of Ivysaur's horrible recovery, he wants to stay as far away from the edge as possible. NEVER not UpB onto the stage. Do NOT approach the edge and think you are simply going to GRAB it. Snake can Jab > Ftilt or just Ftilt (first hit) you while you are attempting to the grab the edge and quick hug > bair you until Ivysaur's UpB vine can't reach anymore.
Ivysaur is weak to all of Snake's explosives because of his grass type. It acts as "Fire" on the super effective chart. I don't think Ivysaur should remain at long-range for too much of the match because it will encourage lots of grenade cooking and that's BAAAAD for Ivysaur.
Out of the three, I believe going into the match as Ivysaur first is the most success you'll get at the start.
I'll do Charizard and Squirtle later. Hope this helps a little. I didn't cover EVERYTHING as most has been covered or is common knowledge to keep away from. Snake's Utilt, for example. It WILL kill you. There's really not much you can do to prevent it.