I've been testing some stuff over the last month or so (started testing prior to the release of Gold and Silver on Virtual Console). I have completed 5 runs of Gold or Silver (I pick the version the suits the team I want to try based on version exclusives). My thoughts on the various Pokemon I've used across these runs are below.
I am planning on doing a run-through of the games with every Pokemon available in Johto (aside from stuff like Ditto which I don't feel is necessary). My next run will probably include Dunsparce, Wooper, Nidoran-F, and Natu. I'm not going to suggest tiers for anything at this time, as I want to wait until I've used as many of the Pokemon in these games as I can. My ultimate aim is to put together a tier list of my own for Gold and Silver. I don't know if I'll ever share this list or even if I'll finish it, but I hope that attempting this project will: a) help me gain a better understanding of how effective some of the more obscure options in these games are for in-game runs; and b) lead to some interesting discussion.
Currently I am only concerning myself with GS and not Crystal. Aside from then fact that GS were recently rereleased and Crystal hasn't been (yet), I find that ignoring Crystal for now makes it simpler for me to assess stuff without having to second guess whether some change between GS and Crystal is enough to affect the tiering of the various Pokemon.
Bellsprout
Bellsprout has a lot of issues that prevent it from being a great Pokemon, the main ones being its poor typing, thin move pool and limited usefulness in important match-ups, although it must be said that Weepinbell actually has slightly higher offensive stats than Meganium (90/85 vs. 82/83), as well as STAB Sludge Bomb eventually. Initially though it is fairly weak. Having Vine Whip as its Grass STAB for practically all of Johto, with its middling power and 10 PP, is pretty bad, and until Acid and Sludge Bomb come along it doesn't have a lot else it can use. Early access to options like Growth and Sleep Powder help it out a bit but these strategies aren't ideal for an "efficient" run where you are looking to beat things as quickly as possible rather than setting up and crippling.
There are two main things that I can say that are positive about Bellsprout. Firstly, Bellsprout is extremely easy to add to a team. It comes very early in the game, and it grinds very quickly. Just take it to Dark Cave and kill lots of Geodude (60% encounter rate plus high experience yield). It took me well under 10 minutes to get Bellsprout to match my team, which is faster than most of the other early route Pokemon.
Secondly, it happens to be a good partner for Cyndaquil because of its ability to counter Rock- and Water-types. Route 32 in particular has several Pokemon of these types and Bellsprout can cover these if you picked Cyndaquil. There are other occasions where Grass excels too, and of course the rival will have picked Totodile if you picked Cyndaquil, so there's another target.
Still, even if you did pick Cyndaquil, carrying Bellsprout on your team is a bit of a burden because there are many other parts of the game where it just sucks. Bellsprout may very well be the best Grass-type to pick if you didn't go for Chikorita, but that's a low bar considering how poor Grass is as a type in GSC.
Chikorita
This has been discussed to death. I have previously been among the first to defend it because "it's a starter", but as I've used it more and more I find myself liking it less and less!
Much of what I've just said about Bellsprout also applies here, and in the long run it could be argued that Bellsprout has the edge because of STAB Sludge Bomb. Bellsprout also evolves to Weepinbell long before Bayleef evolves to Meganium which exacerbates the differences in attacking stats (but this is negated by Bellsprout's poorer move pool), and Bellsprout is compatible with all the starters and not just itself. Chikorita does have the edge earlier on though thanks to its access to Headbutt as a back-up option for the many times where its Grass STAB isn't appropriate, and of course Razor Leaf is a far superior move to Vine Whip. Pick your poison, I guess. Or just don't pick either!
Cyndaquil
Another Pokemon that's been discussed quite a bit, and I really don't think I can say anything else about it. It's a starter with good typing and stats, but it has a bad move pool during the Quilava stage which has a significant impact on its power during mid-Johto.
I haven't tried the "Fire Blast ASAP" strategy on it yet and will try it in another run. I found it mediocre on Growlithe but Quilava is a bit stronger so we'll see.
Dratini and Rhyhorn
Why am I discussing these together? Because there's an in-game trade for a Rhydon in Blackthorn City that possibly represents the "best" way to use the Rhyhorn line, but to use it requires a female Dragonair to trade it for. The only way in which you could reasonably have a female Dragonair at that moment would be to obtain it as a Dratini from the game corner and then use it on your team until you reach Blackthorn, by which time it will have evolved and will be available to trade away.
Dratini requires 42000 Pokedollars to purchase without gambling and I can tell you that having this much money upon arriving in Goldenrod is pretty much impossible, although you can come close (as stated previously I had around 35000 at this point when actively saving money). You may opt to battle some more trainers post-Goldenrod for more money, or you can try play Card Flip for the rest – it took me about 30 minutes to gain 600 coins with Card Flip to give a general idea of the kind of time investment required. Dratini comes at level 10 and you'll need to grind for something either way.
As far as its performance is concerned, it wasn't as bad as I was expecting, although I started with low expectations anyway. Dratini doesn't have the greatest stats and Dragonair is just a modest improvement (Dragonite is pretty much out of reach until the very end of the game) so it'll need some support. It kind of plays like a Water-type without the STAB. You can teach it Headbutt right away and it'll get Surf and Icy Wind later too. Fire Blast, etc., are options too but that's more money invested on top of buying Dratini in the first place. I thought it was kind of neat that it's one of the few non-Water-types to get Waterfall too – this allows players to avoid stacking their actual Water-type with all the Water HMs without having a dedicated slave, if they so desire.
I found its access to Thunder Wave at least useful as a support option for Whitney's Miltank, which is way easier to deal with when it's slowed down. Otherwise you can expect its match-ups to be slightly inferior versions of those a Water-type could manage.
As for Rhydon, it isn't that great. It's just a late-game Geodude. I think there has been plenty of discussion about how Geodude tends to be less useful during the second half of Johto, so you can imagine how Rhydon performs, boosted experience or not. Rhydon does have a large move pool but that doesn't necessarily translate to a good one. It's lacking in good STAB options until the Earthquake TM comes along, and if I have to be honest…Earthquake is actually not that amazing of a move for the Elite 4. It has a few targets, but Lance, for example, doesn't care about it at all.
If you obtain Rhydon at the earliest moment you'll find it will be useful for the Goldenrod Rocket grunts and maybe some of Route 45, and this is why I think the in-game trade Rhydon is the best way to use it despite the hassle requires to obtain it in the first place. But it sucks against Clair's gym and there are plenty of Water- and Grass-types along the routes leading up to the Pokemon League that will make it think twice.
Ekans
My experiences with Silver are based on those in Silver – in Gold, it is obtained under different circumstances.
It's just a fairly mediocre Poison-type that is burdened by the ridiculous among of time required to grind it. Ekans only has Wrap initially and it doesn't get anything remotely "decent" until Bite at level 15 so grinding it is a drag even with wild Hoppip providing what is essentially free experience. Ekans does learn a couple of usable moves for the first half of Johto, but even with Bite, Dig and Headbutt, its performance really isn't that great. Arbok doesn't really take off until Sludge Bomb arrives and at that point its performance is ok. STAB Sludge Bomb is a fairly reliable attack against stuff that doesn't resist it at least, so Arbok can be a handy choice for routes.
As for match-ups, it must be said that Ekans is quite poor for Bugsy's Scyther despite the Bug resistance. Ekans can't do much damage and I found that Scyther was able to use Ekans as an opportunity to start generating powerful Fury Cutters (although Bugsy's AI is a bit unpredictable in my experience). It can use Dig in some match-ups; paired with its Poison resistance, it's decent for Team Rocket grunts too. Overall though, I think the time investment that you must put into it is too much for Ekans to be a good choice for a decent run.
Geodude (no trade)
Geodude is an oddity because its performance varies so greatly from battle to battle. As stated by others, it is at its best during the start of the game and is among the best choices at that point. During early routes Geodude will often find itself walling Pokemon completely with its high Defence and useful resistances, although it will need assistance with the odd Water- and Grass-type that appears. It's also well served for STAB options early-game and it can contribute to varying degrees against the first 4 gyms. It is less useful for the second half, although it still has moments where it can shine, such as against Team Rocket and Jasmine to an extent. It's hurt by having no real upgrades to its move set after its early game options. Rock Throw and Rollout are all it gets for Rock STAB, and it'll be stuck with Dig and Magnitude until Earthquake comes along (it gets Earthquake at level 41 – this is around the same time or possibly after the TM will be obtained anyway, but it does allow for the TM to be used by something else). It's also slow as hell :(
At some point I intend on doing a run with Golem instead of Graveler. When using Graveler, I found I was hitting stuff and falling just short of a OHKO that Golem would have achieved, and on top of that Golem is a bit faster. This may help in match-ups in particular. For example, I found Graveler was unable to reliably beat Jasmine's Steelix (needs favourable rolls from Magnitude, Iron Tail 2HKOed in response), and I also found I need to use 2 X-Speeds on Graveler to ensure that it out-sped Morty's Gengar and avoided Hypnosis, where Golem might do it with one. Watch this space.
Growlithe
Growlithe more or less plays like a slightly worse Quilava that will never evolve pre-Elite 4 but has some extra moves to pick from (although Bite is the only one with any real use). Growlithe can be obtained before Whitney in Gold/Silver by heading north from Goldenrod City and up to where Sudowoodo is. There's a patch of grass there with wild level 13 Growlithe. Grinding it to match my team took roughly 20 minutes (animations on) which isn't as bad as I thought it would be. The usefulness of getting it this early is hurt by its poor match-up against Miltank but it would have taken more time had I waited and any time saved is a plus. Unfortunately, Growlithe itself happens to be in the Slow experience group and therefore requires large amounts of experience to level up in the long run. This was burdensome not just for itself but also for its team mates.
Like Quilava, it's burdened by a move pool containing mostly weak moves. It only has Ember for STAB from level up until level 34 when it gets Flame Wheel, and it only has Bite, Headbutt and Dig for alternatives. When using Growlithe, I decided to go out of my way and invest in the Fire Blast TM. I found the power to be very good, but I didn't like that Growlithe was relying so much on it. The strategy might have worked if Fire Blast was only required occasionally and Ember was doing the heavy lifting, but there are too many opponents where I felt compelled to use Fire Blast which inevitably missed at annoying times, and it has just 5 PP. I also found Growlithe to be a bit slow at times.
Growlithe is still ok for some under-levelled route stuff and it does have some good match-ups like Jasmine, so despite its flaws it still has some use, but mostly it isn't worth the effort and is not a good choice for an efficient run.
Heracross
If Dratini is like a Water-type without the STAB boost, it could also be said that Heracross is like a Normal-type without STAB.
Normally Heracross would be let down by the difficulty in finding a tree that generates wild Heracross, but since this isn't actually "random" and can be
calculated, finding the right tree is trivial.
I found Heracross to be pretty good. Its move pool is unfortunately limited by its lack of good STAB moves for pretty much all of Johto (aside from Reversal possibly, but that comes late and needs to be set up properly), with only Normal moves and eventually Earthquake to pick from, but Heracross' Attack is so high that it'll often tear through trainers quite easily, especially early game where its base stats far exceed most of the other Pokemon that appear at that point.
Heracross is not as useful in important match-ups and is downright useless in a few of them (hi Morty), so Heracross' role is mostly limited to routes, but it's so good at doing that that it is a pretty good choice overall. It also comes at a pretty decent level upon capture and so doesn't require much time investment to get it going. I found that it started to lag just a bit towards the end of Johto when route Pokemon start to evolve and can more easily tank neutral hits though.
Hoothoot
This is just a worse Spearow/Pidgey. The obvious flaw with Hoothoot's design is that its move pool and stats don't gel very well. It has a similar move pool to the other Normal birds but its Attack is subpar. Meanwhile, its Special Attack is above average for a Normal-type, and yet it has nothing to use it with. So in the end, Hoothoot just works like Spearow does, but does it in an inferior way, often falling short of KOs where the other birds would have gotten them. It also lacks options for Flying STAB: it only gets Peck at level 11 (which actually has a huge impact on its performance in Sprout Tower since it won't be at that level without grinding) and it only has Fly as an upgrade.
But on its own merits it actually isn't completely terrible. Like the other birds, it's obtained early and is generally well served with STAB options (although unlike the other 2 it basically only gets Fly to act as an upgrade from Peck) and it can get early Swift and later Return like the others. I also got the Pink Bow from Tuscany on Tuesday after she appeared for a slight power boost (the characters that appear on a particular day to give you boosting items only seem to appear once you get the first badge). Overall, I found that Noctowl was still dealing fairly good damage on routes and in fact I actually found it more useful than, say, Chikorita.
Jigglypuff
Jigglypuff arrives very early but requires an absurd amount of babying because it has no way of inflicting damage until it gets Pound at level 9. Even when that happens, it still isn't that impressive because of its low Speed and generally unimpressive damage output - upgrades like Headbutt are very helpful though.
Still, once you evolve it (which occurs after Surf is usable outside of battle at the absolute earliest) it does much better. Wigglytuff deals decent damage overall and it can take hits back too, although it is a bit slow. Wigglytuff's main niche among other Normal-types, though, is its versatility. Wigglytuff, in addition to its numerous STAB options, also has an expansive special move pool, and unlike other Normal-types with similarly large move pools, Wigglytuff actually has a respectable Special Attack. Meanwhile, other Normal-types with comparable or higher Special Attacks (Noctowl, Stantler, Togetic) don't have as impressive a move pool as Wigglytuff.
Still, it's hard to get around the grinding. Wigglytuff is good but I still consider Jigglypuff to be poor overall because of the time investment, and so I don't think it should rank too highly on the final list.
Lapras
Definitely one of the better mid-game Water-types. It does require a back-track but this is offset by the minimal grinding required to use it. Meanwhile, it starts with STAB Surf and Body Slam for good attacking options and is just a well-rounded Pokemon in terms of stats. Disappointingly though, it doesn't actually get any Ice moves until Icy Wind becomes available (Blizzard might become available around that point too, assuming you go east of Ecruteak first).
Its main niche among Water-types is its additional Ice STAB, which can make all the difference against, say, Clair's Dragonair. A lot of other Water-types generally fail to OHKO with their Ice move of choice and get hit with Thunder Wave in response. Lapras can simply OHKO with STAB Ice Beam. This can also help against some Grass-types that could survive a non-STAB Icy Wind from another Water-type but will fall to a STAB Icy Wind from Lapras.
Lugia (Silver)
Pokemon like Lugia are hard to rank because it really tests how you weigh up availability against other categories. Lugia is of course obtained late in Johto, but if you have a Master Ball, obtaining it requires minimal effort (it literally takes a minute to get down to Lugia's room in the Whirl Islands as long as you know where you're going). It has a huge move pool, and it also comes at level 40 and requires no grinding at all. This means that it is incredibly easy to just add Lugia to your team, slap some powerful moves on it, and be on your way, which is more than can be said for most of the other late-Johto Pokemon.
It is important to note, however, that while Lugia's stats are overall great, its offensive stats are rather modest for a legendary Pokemon (90/90, barely higher than Suicune) and lack the support of stat experience that other early-route Pokemon will have accumulated throughout an entire playthrough. I found that while Lugia can generally KO stuff with STAB Aeroblast (which has low PP by the way), a non-STAB coverage move would fall short if it didn't hit super-effectively, although it still 2HKOed stuff invariably. Lugia will still beat almost everything one-on-one, but it isn't necessarily the best sweeper.
I still think Lugia is a good enough choice due to it being a mostly brainless addition to any team (it can learn lots of HMs too if that means anything) and would probably rank it relatively highly on a tier list, but I would hesitate to rank it among the best of the best.
Mankey
This has been pretty decent overall. Despite being resisted by Poison, Fighting is actually a fairly decent attacking type in my opinion – it's kind of like a Fire-type that also hits Dark- and Normal-types super-effectively, in exchange for the Bug and Grass coverage. Mankey has well distributed stats and decent TM compatibility too. Mankey may very well be the "best" Fighting-type (I'm not counting Heracross since it gets no good Fighting moves aside from possibly Reversal and so may as well not be a Fighting-type anyway) although I intend on testing the trade Machop eventually too so we'll see.
The cool thing about Mankey is that it's easy to grind. You can get it as soon as you reach Ecruteak and its Fighting moves happen to be perfectly suited for grinding against the numerous Normal-types and Magnemite on Route 38 (Dig helps with Magnemite too), and the experience yield is great thanks to the presence of Raticate/Tauros/Miltank. Once that's done, Mankey happens to get a good route sweeper that also has a handful for great match-ups (Jasmine, Pryce, etc). It's a useful choice that is relatively time efficient.
The main issue with Mankey is that it doesn't have the most luxurious options for STAB. It has Karate Chop from the start (which is weaker than Strength by the way), but the only "upgrades" it gets to that are Cross Chop or Dynamicpunch, both which are inaccurate and have low PP. This starts to become noticeable late-game especially. It also evolves later than some other Pokemon that are available at the point but Mankey's Attack and Speed are actually comparable or better than some of its contemporaries even before evolution so that doesn't matter that much.
Mantine
Mantine is basically your run-of-the-mill Water-type. It attacks with STAB Surf, and it does that decently enough. But aside from Icy Wind, Mantine has basically nothing else to offer.
The main thing Mantine has to distinguish itself is its part Flying typing, but from an offensive point of view it's basically worthless. Mantine doesn't get a Flying-type move (Wing Attack) until level 40, and with a base Attack stat of just 40 its damage output is a joke compared to its other moves. You could argue that the Grass neutrality makes it safer as an option to take on Grass-types, but since a non-STAB Icy Wind will fail to OHKO the bulkier ones a lot of the time, Mantine is still open to getting statused and so it isn't that much safer anyway. Probably Mantine's main issue as far as route sweeping is concerned is that it is among the worst Water-types at dealing with other Water-types. Its special move pool is limited to Water/Ice and it can't use physical moves very effectively and so it gets walled.
STAB Water moves are still great just on their own, and so on its own merit I would consider Mantine to be a decent enough choice. It must be said that Mantine doesn't need a great deal of grinding if you get it ASAP since it comes at a high-ish level (which is nice because I found it hard to find a good spot to grind it – I had some success with Wobbuffet's section of Dark Cave). But I consider Mantine to be slightly inferior to other mid-game Water-types who have some kind of niche to differentiate themselves. In fact, I would describe Mantine as "Tentacruel, but without STAB Sludge Bomb".
Miltank
As mentioned previously, I used the Friend Ball strategy for Miltank. It sets Miltank's happiness to 200 and therefore gives it an 80 base power Return (equal to Strength but will soon increase) from the start. However, I don't think this is a great strategy for Miltank because I ended up spending so much time trying to catch Miltank successfully in that Friend Ball that I don't think the benefits were worth it. I feel like it may have been more efficient to have just caught it in a Great Ball or similar and used Headbutt or Strength until Return got its power.
I know a lot of people favour Miltank and Tauros heavily among Normal-types, but I'm not as fond of them. I think that they are great Pokemon once they get going, but I also think that there's a bit of a time-risk issue involved with using them. Both Pokemon have an encounter rate of roughly 5%, both have relatively low catch rates, and both are slow-growing Pokemon that are found at a lowly level 13 when your team will likely be in the early 20s at least. Miltank doesn't just become instantly good when it is caught and requires some time investment. In the end, I just see Miltank as a mid-game Rattata with more bulk in exchange for more required time investment. Rattata in particular has comparable base Attack and Speed and move pool to Miltank (Rattata gets Dig, Miltank gets some special moves it can't use very well) and levels up faster due to it being in a better experience group but comes into the mid-game with more stat experience and is closer to a full-power Return than Miltank is.
But don't get me wrong – I still think Miltank is really good! It does hit pretty hard with its STAB and it is an excellent route cleaner while also being somewhat reliable to turn to in match-ups (arguably more so than Raticate in some match-ups because of the aforementioned extra bulk). It learns some nice coverage moves too, although Earthquake comes very late and it can't use the elemental punches or Surf very well, which just leaves Shadow Ball (still useful for hitting Rival's Haunter at least).
By the way, Miltank has an interesting niche in Milk Drink, which lets it heal its team mates (i.e. saves on Potions). However, it doesn't really work very well. It worked for Chansey in RBY because it has that huge HP stat, but Miltank's healing is fairly minimal by comparison. Miltank would need to nearly KO itself to completely heal a low health partner, although since Miltank is so fast, it could very easily recover it back against a wild Pokemon.
Pineco
This is awful. This was painful to grind, and as a Pineco it was consistently bad on routes while also have minimal good match-ups. It has a poor stat distribution for in-game runs alongside a baron move pool. It improved a bit once it evolved, as a consequence of its newly-gained Steel typing. Steel-types are generally great for Team Rocket, and Forretress additionally walls Pryce while also having some targets against the Elite 4. But I don't think the effort I went through getting it to that point was really worth it in the end.
Strangely enough though, as bad as Pineco is, it actually has a slight niche against Whitney. While it is far too weak to reliably beat Miltank on its own, it can use Protect to bring Rollout out to a screeching halt. This is handy if it starts to get out of hand. In addition, it also has the option to try and take it out with Selfdestruct. Pineco's Selfdestruct is unlikely to OHKO Miltank (Geodude's version is more reliable in this regard) but it comes close, so all you need is to land some residual damage from a team mate and then let Pineco finish the job. Alternatively, you can try to take Miltank out with something else after Selfdestruct, assuming its fast enough to KO Miltank before it recovers with Milk Drink. Either way, it's an interest niche for an otherwise bad Pokemon!
Poliwag (with trade)
Poliwag is a pretty solid Water-type whose main asset compared to other Waters is its availability. In Gold and Silver, Poliwag can be obtained with the Old Rod in Violet City which is earlier than most of the other Water-types (only Wooper and Totodile are obtainable sooner; Goldeen/Magikarp/Tentacool/Krabby are obtainable at the same time as Poliwag by using the Old Rod in the appropriate location). Poliwag comes at level 10 (when your team will likely be at 12-14) and it is extremely easy to grind because Union Cave provides easy experience for it and it requires less experience to level up than several of the other early route Pokemon.
It does take a little while for Poliwag to get going. It's not bad and there are several Water-weak opponents in and after Union Cave for it to go for, but Poliwag is not an exceptionally strong Pokemon outside of its good Speed (it also can't learn Ice Punch until it evolves, although it does get Headbutt) and Poliwhirl isn't much of an improvement. Therefore, you could also treat Politoed similarly to something like Slowbro/king in that you could wait until Surf and King's Rock are available, catch a wild Poliwhirl in Ecruteak City or wherever, and then trade evolve it to Politoed.
Politoed itself has an interesting move pool that includes Earthquake and Psychic in addition to the default Water-type options, but since those extra moves are obtained late, Politoed will act as a fairly generic Water-type for most of Johto. That still says a lot though. Waters are well served for moves and so Politoed is a great choice.
Ponyta
This is one of the last Pokemon available to you in Johto. Ponyta itself isn't an awful Pokemon since Fire is a decent typing and its stats are ok, but like of lot of Fire-types it got saddled with a poor move pool. Ponyta pretty much needs Fire Blast to really do anything since it only has Ember to fall back on, and its "coverage" options amount to Iron Tail and Normal moves which isn't too great. Still, Ponyta is actually surprisingly easy to grind – the Pokemon on its route give good amounts of experience and there's a highly convenient healing spot on the route too. For a late game Pokemon the amount of time you lose grinding it is not that much.
Ponyta is not a high ranking Pokemon, but is it worth using? Maybe. Fire is a decent typing for the Elite 4, and if, hypothetically speaking, you reached the Pokemon League without a Fire-type and decided you really wanted one right there and then, Ponyta is probably the one to go for since it's the closest to your team in level. I'd could see Ponyta being useful in that situation only. But keep in mind that level 40 Ho-oh exists in Gold and so it's really only worth it in Silver.
Qwilfish
I used the DST trick to get Qwilfish as soon as possible. However, one thing I noticed that was strange about Qwilfish relates to its catch level. Normally, Pokemon fished up with the Old Rod are caught at level 10, but I found that whenever I activated a Qwilfish swarm, the catch level was reduced to level 5. I'm not sure why this is the case, and I should say that it didn't seem to happen with Remoraid, nor did anything change with the Good Rod (level 20, swarm or not). Either way it was a bit of a pain because it meant more grinding was required to get Qwilfish on par with my team. I found grinding it to be on the slow side because the exp. yields on the surrounding routes are so mediocre, but at least there's a Pokemon Centre on Route 32. In fact, I started to wonder if it would be more useful to wait until Good Rod is obtained before going for Qwilfish – it comes a bit later but there's less time grinding and Qwilfish doesn't really take off until Surf and Sludge Bomb are obtained anyway.
Regardless, I thought Qwilfish was really good and frankly deserves to rank alongside the better Waters. It's basically the same as Tentacruel, but with a stronger Sludge Bomb in exchange for a weaker Surf and Icy Wind. Unlike Tentacool, who is mostly useless before Surf (and hence should really only be obtained as a Tentacruel along the sea routes), Qwilfish has a good Attack and access to Headbutt and so is more tolerable should you go the Old Rod route. It isn't outstanding during this time but it is still a solid route sweeper that will eventually reward you with two great STABs.
Rattata
This is underrated in my opinion. It is one of the most accessible Pokemon in the game and while it doesn't come flying out of the blocks upon capture, it gets a strong STAB really early, good coverage options to hit resistances (Shadow Ball for Rival's Haunter/Gengar; Dig for his Magnemite/Magneton) and stats that are distributed well (on par with Miltank in power and speed, but worse in bulk).
Having said that, Rattata tends to contribute more on routes than in match-ups. Normal doesn't really "counter" anything and in later match-ups in particular Raticate will do little more than take a nice chuck out of an opponent and then eat a big hit in response. On routes though, it's in its element – it'll happily tear through stuff with its high base power STAB and good Speed. It hits a particular peak just after it evolves to Raticate, but stays useful for the rest of way through the game.
Seel
Seel is highly similar to Lapras – same type, similar stat distributions, and similar move pools. Seel lacks Body Slam, but gets a better back-up STAB in Aurora Beam. The main issue with Seel compared to other Water-types is availability. Seel can't be encountered until Whirlpool is usable outside of battle, and so it misses out on the entirety of the Lake of Rage plot and Pryce's gym. When caught, it'll be a bit under-levelled too, and so some time is lost to get it going (which is less of a problem with many of the other Water-types that are obtained earlier).
Another issue relates to evolution. Seel evolves at level 34, but it is tempting to delay evolution to get Ice Beam sooner (37) than it would if it evolved immediately (43). I opted to delay evolution, and while I think it was the best choice, it also caused problems in some match-ups even in the brief 3 level period of no evolving. For example, against Jasmine, I found I was unable to OHKO any of her Pokemon with Surf, which allowed Magnemite to hit Seel with Thunderbolt, and Steelix to set up Sunny Day and heal with Hyper Potion (hence dragging out the battle). This would not have happened if I evolved into Dewgong prior to battling her.
I think Seel is decent, but I don't think it is on the same level as Lapras and other mid-game Water-types because of its availability problems. It's probably closer to something like Mantine.
Skarmory
Skarmory's main asset is its defensive typing. Skarmory flat out walls some important Pokemon and is suited perfectly for Team Rocket in particular.
Skarmory is not a good Pokemon for in-game runs though. It comes late in Johto and is a pain to grind up, and it is actually pretty weak because it only has Fly for most of the time it's around. It is an annoying 2-turn move that will miss occasionally and isn't that powerful to begin with, and so while Skarmory will beat things, it won't beat things quickly enough.
Voltorb
The cool thing about Voltorb is how easy it is to add to a team. You get it as an in-game trade for Krabby, which is readily available in Olivine City with the Good Rod, and if obtained as soon as possible it shouldn't be far behind the team and has its boosted experience to assist it in getting there anyway.
The problem? Voltorb's level-up move pool is atrocious. It has no STAB moves, and it can't effectively use the moves it does get. Therefore, you will need to invest in the Thunder TM, and you'll want to go back to the Slowpoke Well to get Rain Dance as well to cope with the accuracy. From my previous post you can see that it's doable by the time Voltorb is available, and it's a matter a debate whether a Pokemon should be penalised harshly or not for relying on a Game Corner TM. But if you do these things, Voltorb is actually a very good Pokemon that can sweep opponents well. The fact that it arrives right before the sea routes to Cianwood, followed by the battle with Chuck's Poliwrath, is very convenient. Its other match-ups are hit-and-miss though – it can't do much to anything that blocks electricity and will need team support.
Yanma
Yeah…this sucks.
To be completely objective about its performance, I would say that it can use Headbutt (its best move, depressingly) roughly as well as Quilava and Bayleef can…except that it won't ever evolve into a better Pokemon. On routes, it'll generally 2-3HKO most things, and it'll get flinches sometimes too. I guess that makes it better than Ditto and Smeargle.
But with poor stats, poor move pool, and poor match-ups, on top of the time invetsment involved in back-tracking to activate the DST trick and then grind it, it's clearly among the worst Pokemon.