Despite its poor attacking movepool, Bulbasaur can make for an effective revenge killer with its good Special Attack and just enough Speed to outpace all unboosted Pokemon when carrying a Choice Scarf. It seems as if it would make a good support Pokemon as well, but sadly it is outclassed by Foongus in that position. Luckily, Bulbasaur has its small niche, and can be used on a team to help deal with fast sweepers.
Bulbasaur reaches 21 Speed and 17 Special Attack with a Choice Scarf and a Modest nature, making it an effective revenge killer. Sleep Powder is a nice move to have, allowing Bulbasaur to quickly put something to sleep, though it requires Bulbasaur to switch out after use. Leaf Storm is the most powerful move Bulbasaur gets, but it does lower Bulbasaur's Special Attack, making Bulbasaur more vulnerable after each successive use. Sludge Bomb is much weaker, but it is a more reliable STAB move that hits many Pokemon that resist Grass hard. Hidden Power Fire is the final move, hitting Steel-types and Dry Skin Croagunk super effectively.Team Options & Additional Comments >>>
Bulbasaur has quite a few other moves that could be considered, but most are inferior to the moveset listed in the analysis. Substitute could work with Leech Seed to drain health, though Cottonee and Snover do that much better. Toxic or Stun Spore could work as a second status option alongside Sleep Powder, but that would require a dedicated support set—something better left for Foongus. On a support set, Knock Off is an option to remove an important item such as Eviolite, and Synthesis can provide a healing option for Bulbasaur. If Bulbasaur is running Toxic, then Venoshock could be used as a powerful attacking option as well.
Bulbasaur can use a few moves to set up as well. Growth can raise its Attack and Special Attack; however, Bulbasaur rarely has the time to set up with it. Swords Dance is similar, and Curse could be used on a bulkier set, though it would have major problems with Snover and Fire-types. Power Whip, Nature Power, and Return are physical attacking options to consider if using an Attack-boosting move. Giga Drain can heal and work as a reliable STAB move, making it a viable option. Petal Dance is much stronger, but being locked into it can be quite dangerous due to the many Pokemon that resist Grass-type moves.
Checks and Counters
The best way to handle Bulbasaur is to switch in on a resisted move once a team member has been put to sleep, activating Sleep Clause. Gastly resists every move Bulbasaur can use other than a random Hidden Power, making it a very good check. Stunky works the same way, as only the rare move Nature Power presents a problem to it while switching in. Faster Choice Scarf users such as Darumaka work as checks as well, as long as they carry a super effective move to hit Bulbasaur with. Fire-types such as Ponyta and Houndour work if they avoid Sludge Bomb, and can either set up or attack the switch-in, respectively. Finally, Dratini resists Leaf Storm and Hidden Power Fire, and Shed Skin can wake Dratini up early if it switches into Sleep Powder.
Bulbasaur receives Chlorophyll from the Dream World, which seems good in theory. Currently, the only released Bulbasaur with the ability is level 10 and male, making it illegal in Little Cup. If it ever became available, a Sunny Day set would most likely be the best option for Bulbasaur.