Ah. Times have moved on I see.
If I had one criticism of the Pokémon games, I'd say the levelling system is far too simple, and far too long. If your pokemon leveled up with different strengths and weaknesses depending on what it had faced, or even if you could just choose in what 'way' it levelled, of would add a great deal of complexity to the game. Want a charizard which isn't super-effective for water to fight? Have it train in (something cool and mythical, the lakes of pandora) all its life. But you sacrifice its ability against grass. (The thinking being, grass is super against water, so the more you fight water the worse you are against grass.. Or something.
There would be loads of tactics there.
But yeah it takes too long to hit 100. Especially if you were training 100s of pkm to have a range for online. Cap it at 80? And even then make it quicker when levelling up at the end of the game
Most of this stuff was around since the first game, tbh.
As for the growth, that's EV's, you can grow your mons to be stronger in Attack, or Special Attack, or Defence or whatever. As for type advantages, Pokemon often learn coverage moves, Charizard for example can learn steel moves to counter Rock, or SolarBeam to counter Water, it's more of a chance to stay in battle against a type advantage, taking those chances or not is part of the tactics. Say I swap my Charizard out for a Water mon, you may have expected me to do that, and used a Grass move instead, wiping out my Water mon. Now if you used it and I didn't swap, Charizard is barely scratched, and can take a chunk off your monster with a Grass or Dragon attack, or similar.
Also, with new evolutions, and mega evolutions, typing can change, Mega Charizard X is Fire/Dragon. Looses it's weakness to Water, halves it's Rock weakness, makes it strong against Electric, but adds a weakness to Dragon and Fairy attacks.
Level grinding is fecking annoying, for 100, definitely.