Regarding Chikorita, I think people think it is the worse because it slows the game down quite a bit because of the lack of good offensiv pressence. But I feel typing wise and defensively it is very difficult to find a replacement for it, if that is how you want to experience the game.
I feel, while having the most offensive pressence, Totodile is the easiest to replace.
The only reason you'd ever need a Grass-type in these games is if you started with Cyndaquil and need a way to deal with the rival's Totodile, which completely takes Chikorita out of the equation anyway.
Grass-type STAB is complete trash in Johto. There is really no point in 'replacing' something that is pretty much useless in the first place. Chikorita has one great and notable matchup against Chuck's Poliwrath.
It might offer bulk, but ingame a powerful offense is the best defense and just killing things saves you from many trips to the Pokémon Center.
Gym 1 is Flying. RIP.
Gym 2 is Bug. RIP.
Gym 3 is Miltank. No offensive presence will allow Miltank to use Rollout and Milk Drink forever. If your Chikorita is male, which it most likely is, you'll also have to deal with Attract (though that goes for all the starters). RIP.
(Cyndaquil might hate Rollout more but Smokescreen provides great utility here.)
Gym 4 is Ghost/Poison. RIP².
Gym '5' is Fighting. You beat Poliwrath unless it gets some serious Dynamic Punch and Hypnosis hax. Good.
Gym '6' is Steel. Magnemite walls you. Steelix is neutral. Still the worst out of the three possible starters at this point. Especially if you consider Dig Croconaw/Feraligatr.
Gym '7' is Ice. You hit them for super effective damage with Razor Leaf because of secondary typings, but they hit you for super effective with Ice-type moves. Mediocre.
Gym 8 is Dragon. Only one of the Dragonair hits you for super effective damage with Ice Beam, but Meganium is hardly an efficient way to tackle this Gym. It's not the worst though since Typhlosion hates this place more.
All the Johto Team Rocket members either wall Chikorita or outright eat it alive.
They have Pokémon like Koffing, Weezing, Ekans, Arbok, Grimer, Muk, Magnemite (Scientists), Venonat, Zubat, Golbat, Gloom, Vileplume, Murkrow, Houndour, Houndoom, ...
???, the rival, has Cyndaquil, Zubat and Gastly in the early parts of the game and adds Magneton, Sneasel and Alakazam in the later parts of the game.
Have fun dealing with that team if you're relying on Razor Leaf + Normal-type attack coverage for damage with low offensive presence to begin with.
Meganium's matchups against the Gen II E4 are quite terrible too.
Will has Xatu, Exeggutor, Jynx and another Xatu. Slowbro has Amnesia and doesn't care about Body Slam, but you should be able to beat that one easily at least.
Koga eats Meganium completely. Even the crappy AI would get enough free turns against Meganium to set up forever and ever...
Bruno is neutral. Fire Punch/Ice Punch Hitmonchan is laughable at best. He does only have one Onix in GSC though. Meganium shouldn't have too much trouble here, but there are many better ways to beat Bruno.
Karen will Mean Look Sand-Attack Confuse Ray a Meganium with Umbreon. If you get past that, have fun dealing with Vileplume, Gengar, Murkrow and Houndoom.
Lance. LOL. You kinda wall the Gyarados unless it gets low enough for a threatening Flail. Three Dragonite with elemental moves, Charizard, Wing Attack Aerodactyl and a bunch of Hyper Beams will have a great time against Meganium.
Chikorita has bulk and can actually survive many of the super effective hits that it would encounter on its journey to Lance, but even if you survive those attacks, then what?
Razor Leaf + Body Slam is terrible coverage and you'll be stuck with Razor Leaf + Tackle/Headbutt for most of the game anyway.
If you're trying to have some fun ingame and like Chikorita, sure go ahead... use it. Nobody is stopping you.
If you're trying to have an even remotely efficient run through Johto, Chikorita is garbage.
Choosing Chikorita is like playing GSC on hard mode.