I'm going to say Bulbasaur has the edge here. Pikachu has a pretty decent speed stat, but it doesn't have access to many worthwhile moves. Let's talk about the build you'd use to pretty decisively beat a Pikachu.
Pikachu's common passive ability 'Static' means that it can potentially inflict paralysis when hit with physical moves. On top of that, Bulbasaur has a fairly high Special Attack stat, so it'd be a good idea for it to use Special moves rather than Physical. On top of that Pokémon get a Same Type Attack Bonus (STAB) for using moves that match their type, so we want a non-physical Grass type move. 'Leaf Storm' is probably the best move we could use in this case. To get a Bulbasaur with that move, you have to do some breeding, but it's totally possible.
Now we'd also want to take advantage of Bulbasaur's own common ability, 'Overgrow', which boosts Grass type moves' effectiveness by 50% when it goes below 1/3 of its HP which, combined with our STAB means Grass type moves are now 200% as effective. Of course once we get our HP that low we're going to want to avoid taking much more damage. Using Bulbasaur's 'Sleep Powder' move at this point will cause Pikachu to fall asleep, preventing any further attacks.
So we've got our basic strategy, get down to 1/3 of our HP, put Pikachu to sleep and then wail on it with Leaf Storm. While we're letting our HP drop we could use something like 'Swords Dance' to boost our attack stat as well.
Bulbasaur may have an edge, type wise, but I'd put money on Pikachu actually winning. Pikachu with Light Screen, Thunder Wave/Knock Off, Protect/Wish, and Hidden Power (Ice) with Light Ball, would completely take on a Bulbasaur. http://bulbapedia.bulbagarden.net/wiki/Pikachu_(Pok%C3%A9mon...
Bulbasaur would need Toxic/Sleep Powder, Growth, Energy Ball/Petal Dance/Giga Drain, and if you must, Hidden Power (Ground) with leftovers. Would NOT suggest using Leaf Storm unless you know you could knock out the opposing pokemon within two hits, even with the two stage lowering of the Special Attack. http://bulbapedia.bulbagarden.net/wiki/Bulbasaur_(Pok%C3%A9m...
The problem with your strategy is that it doesn't take into account crit attacks. Bulbasaur could get a critical hit on it and get all the way down to around 30% health left. The problem what that is that Bulbasaur is MUCH slower than Pikachu, so by the time that round is over, you don't have enough health to survive another neutral hit. The only way I could see Bulbasaur winning is with crit hits, or with just stalling out Pikachu (by changing growth to protect, hidden power ground to leech seed, and going with Giga Drain, you would have a really great chance to stall out Pikachu, if Pikachu doesn't 3HKO Bulbasaur), and hope he didn't have hidden power ice.
(If you're not using physical attacks, why waste a slot on Sword Dance, a move that increases the Physical attack stat??)
Yep I've been totally outclassed. I've only recently started getting into the online aspect of Pokémon so I still have a ton to learn with regards to strategy. Though does the speed stat really matter all that much outside of first mover advantage?
Yes. Most pokemon battles, unless they're designed to stall, or there are a lot of misses, pokemon as a rule usually faint within two to three hits. Unless Pikachu's stats are totally a bad fit for a special attacker, and Bulbasaur's stats are totally for special walling, chances are even with attacking with Thunderbolt, Pikachu could take down Bulbasaur within 4 rounds. With Hidden Ice, holding the Light Ball, probably 2 rounds.
Now, let's say we gave Bulbasaur all the extra ev training into special attacking. It would still take about two hits to knock out Pikachu. Problem is, since Pikachu is faster, it'll get in two hits before Bulbasaur does. This is why both Pikachu and Bulbasaur are considered LC (Little Cup) or NU (Never Used), as they have a lot of problems dealing with a lot of different pokemons that occur in battling.
May I suggest you try a website called Pokemon Showdown? It's an online simulator which allows you to try out different strategies, and test them against other people. http://play.pokemonshowdown.com/
But Bulbasaur is grass / poison type. Electric is not very effective against grass, so Bulbasaur will have an advantage unless Pikachu avoids using its electric attacks.
IIRC, neither one has an advantage or disadvantage against the other. It'd actually be an even match!
Edit: According to http://pokemondb.net/type , when Grass is attacking Electric, the attack is "normal," 100% of the damage takes. However, when Electric is attacking Grass, the attack is "not very effective," and only 50% of the damage takes.