S-tier is pretty easy. Jynx is the queen of the game, she destroys the game and has boosted experience. Alakazam is as good as usual and will beat most things thanks to CM+ Recover. Mr.Mime is slightly less good as it doesn't have Recover but traded experience and Thunderbolt makes up for it. Kadabra is basically an Alakazam that doesn't beat Lance.
Among A-tier, there are the starters that are incredibly consistent, no matter the fight. Vaporeon is incredibly consistent, boasting great power, enormous bulk and adequate speed and doesn't come too late, it beats most gym leaders without any trouble and has a great levelup movepool. Clefable is incredibly consistent and using the right moves, it will beat everything but Bruno which is incredible, comes early and levels up quickly. Starmie is nearly as good as Jynx but requires a few TMs and takes time to train. Gengar is a slightly worse Starmie (doesn't beat Blaine's Arcanine and Lance's Dragonite) but is easier to train and requires less TMs. Snorlax is a beast that outstall in every major fight outside of Bruno and somewhat Lance and Champion. Primeape is the best early mon available, beating Brock, Erika, Sabrina, Giovanni and Agatha while being really helpful against the rest. Nidoking only wins against Surge and Erika but is incredibly consistent in each fight really.
B-tier can be divised in strong early game mons, powerhouse that come too late and great mid-game option.
- Strong early mons are Charizard, Fearow and Nidoqueen. Charizard is really strong but struggles too much against important opponents (Brock, Misty and Lance) to be A, it still performs really well and fares better than expected in bad matchup. Fearow likewise is really strong, always contributes but struggles too much against Koga, Blaine and Lorelei even though it has one of the strongest early to mid game performance.. Nidoqueen is a bit worse than Nidoking but will helpno matter the battle.
- Powerhouse that come too late are Zapdos, Psyduck, Slowbro, Exeggutor and somewhat Lapras and Articuno. These mons are really great and while there might be some struggles (Blaine for Exeggutor and Bruno for Golduck), there are incredibly consistent for the rest. The problem is either catching them (Zapdos, Articuno and somewhat Psyduck and Slowbro) or train them (Slowbro, Lapras and Exeggutor). They have an A-tier performance but due to coming late and these problems they can't be A-tier.
Great mid-game options are Gyarados, Dodrio, Haunter, Machamp, Hitmonlee, Tentacruel and Arcanine. Gyarados is annoying to get but incredibly strong, outright winning in most matchup outside Erika, Surge, Agatha and Lance while still helping in said matchup. Dodrio is basically a better Fearow available later. Haunter is really strong but isn't as good as Gengar due to its speed not allowing to outspeed Alakazam and sometimes power (i.e not OHKOing Growlithe and Ponyta against Blaine) but it sil does a lot in almost every battle. Machamp and Hitmonlee are solid picks that wins against Erika, sometimes Sabrina and Giovanni while being decent to good in other fights outside of Champion. Tentacruel is better than the average water-type because you can get it at a high level and it beats Bruno by itself, has Giga Deain to defeat Lorelei's Dewgong and the superior speed help a lot for Sabrina and Lance. The ground weakness doesn't matter as it wins vs Giovanni and ground-types and the Psychic weakness is nothing because it tends to do well against Sabrina.
C-tier is well-diversified.
- There are the Water-types. Dewgong, Seaking and Seadra arejust generic water that beat Giovanni and Blaine, strong against Lance and bad to average elsewhere. Poliwrath distinguishes itself with Bulk Up and fighting-types to beat Lorelei but somewhat lacks power and struggles more against Sabrina and Lance. Cloyster loses to Blaine and is a bit worse overall but peforms way better against Koga and Lance. Kingler isn't as good as other water-types but can beat the Gyarados from Lance and Champion, Dewgong from Lorelei and has HM utilities while still defeating Blaine and Giovanni.
- The Electric-types are incredibly similar as they have nearly the same matchup and just use their STAB. They do alright against Koga if available, are good for Sabrina, decent for Blaine (outside of Magneton), great for Lorelei, bad for Bruno and great for Agatha. There are some differences in stats but they mostly remain the same anyway.
- The Fire-types are usable. They beat easily Erika, Sabrina, do a lot against Giovanni and are overall really helpful. Flareon distinguishes itself by its ability to pick up Alakazam at the cost of needing a Shadow Ball TM.
- Venomoth and Butterfree are great picks. They have great coverage and excels at beating certain opponents. They just lack the stats to be more noteworthy and tend to rely on Sleep Powder but are eally consistent at what they do and are fun to use.
- Dragonite is pretty unique. Dragonair is pretty solid in these games, beating Erika and Lorelei and contributing. Dragonite is incredibly strong and beats 3/4 mons at least against each member of the E4 and Champion.
- Hitmonchan and Hypno are just worst fighting-type and psychic-types. They need more times to set up, which hinders their performances but are still worth using.
- The safari mons are fairly good, in spite of how they are to get. Pinsir destroys Lorelei and Bruno and is overall a good pick outside of Agatha and Koga. Scyther is more matchup specific but cleanly beats Erika, Koga, Sabrina and Agatha and in some battles can set up mid-game to sestroy the team.
- The grass-types are alright. They are matchup reliant but winning against Misty, Surge and Giovanni while doing a lot against Lorelei and Bruno is enough for C-tier in spite of how hard they are to train.
- Golem is pretty bad but it beats Surge and potentially Koga if lucky. It can help here and here, like getting 3 kos against Blaine and has Explosion. That's why C-tier feels warranted, even though it's at the bottom of it (and really shouldn't be B-tier honestly).
- Farfetch'd is surprisingly usable. Boosted experience and critting with Stick are great. It has actual good matchup against Surge, Erika and Koga and enormous utility with Fly+Cut. You can also use Double Dance + Agility forgetting Cut when not needed and Farfecth'd will be able to beat Agatha. HM utility + being good for 3 gyms and Agatha is enough for C-tier.
- Raticate comes really early and beats Misty, Surge and Erika and can do damages and pick up a threat, except for the Elite 4 outside of Erika so it can be at the bottom of C-tier.
- Persian has a niche with Pay Day and Pickup as Meowth which can prove useful. It's not that good in battle but has some uses, like defeating Sabrina with ease.
D-tiers contains many mons, mostly Pokemon either hard to get, available late or Pokemon that are only average at best.
- Moltres, Rapidash and Magmar come too late to really justify using them but have some use against Lorelei, Agatha and Champion, thus escaping the lowest tier. It's pretty much the same for Tangela, Muk, Weezing and Rhydon. They just come too late and aren't really worth using because they are many better things to use as they aren't the most reliable options for the end game. They still have a niche to warrant D-tier tho.
- The fossils are annoying to get to a good level but perform well, winning until the Elite 4 and still having decent performances there (Lorelei and Agatha are good for Kabutops and Agatha and Lance are great for Omastar).
- Tauros and Kangaskhan are hard to catch and aren't the best things to use either. Using a physical attacker is cool for Sabrina but they struggle a lot against Koga, Blaine and aren't that helpful for the Elite 4. Normal isn't the best typing for Kanto tbh.
- Ground-types are mostly bad in Kanto. Dig is too weak this generation and outside of Marowak, which is incredibly slow they don't have a reliable STAB. They beat Lt. Surge easily and some mons here and here but they are mostly bad outside of that.
- Pidgeot, Golbat, Arbok, Beedrill, Parasect, Machoke and Wigglytuff are mons available early that performs badly. Golbat and Parasect are good for some matchup but are hard to train especially Parasect which even struggles against Zubat that are everywhere in Kanto. Pidgeot is only passable but has some uses. Arbok is annoying to train until it evolves and even then, it's nothing particular and will rely on the unaccurate Screech + Hyper Beam combo. Beedrill is great for Misty, Surge and Erika but won't do much afterwards. Machoke really can't set up due to poor bulk and even then, it's not particularly strong. Wigglytuff is really bad, it's weak, slow and rather frail, its performance early game and good availability prevent it from being E-tier but it's among the worst things to use.
E-tier Pokemon are barely usable.
- Porygon has some uses but is way too expensive and doesn't thave the stats to justify it (even though Recover + Sharpen + Agility is cool).
- Chansey is hard to get and not good in battles. Yes, it can win against Lorelei and sometimes Blaine with Toxic and SOftboiled but it just takes forever and there are better strats to use.
- Lickitung is an even worse Wigglytuff, which is barely E-tier. You can only get it in mid-game after trading one excellent Pokemon. It's not going to do anything relevant in battle anyway.
- Onix is really weak and has no use outside of late Surge. Graveler is already bad but Onix is a faster, way weaker Graveler that can't even OHKO Charizard with Rock Slide and is incredibly painfull to train.
- Ditto has no use, the first Pokemon of the team is also the weakest and it takes too muc damages transforming.