I'd like to nominate Dratini for middle tier.
Stats: 2nd BST in the whole game once fully evolved, but before that it's BST is meh.
Movepool: Marvelous
Availability: Game corner, which can be accessed before Erika, or safari zone if you don't want to gamble and spend a heck of a lot of poke dollars, so mid game
How it performs vs the gym leaders and elite four that can be fought with it:
Lt.Surge: Well, yes you can go through rock tunnel and come back after winning one at the game corner. Amazing, all of Lt.Surge's that are stab are not very effective, and sonic boom only does 20 damage. With only one super potion (to heal from sonic boom) you tear him up.
Erika: Pretty good, since you resist grass stab. Unlike surge however, it's not a flawless victory. She has more than just grass stab, so her mons can do some reasonable damage. With about 2-4 super potions, dratini can sweep her alone. Also, if you want an itemless victory, you can use agility and then spam wrap.
Koga: It does OK, it can can beat up a Mon with agility + wrap, but only one though, because toxic. Also, I only really recommend using on his Koffing. With some hyper potions however, you can beat 2 of his mons.
Sabrina: Set up on Kadabra with agility, and watch it blow away Kadabra and Hypno. If you want to beat all her mons however, you need a hyper potion or two. Also, Hyper beam really helps if you took the time to get that.
Blaine: Agility + Wrap won't be needed anymore. Just use surf on everything! And fire blast won't be doing much, while take down is just making him a fool.
Giovanni: If you grind it up into Dragonite, you sweep, no items needed.. If you don't like to grind like me, it doesn't come out easy to outright sweep him. However, it demolishes Rhyhorn with surf, and Rhydorn can't do much back. Rhydon however, can chip 75% of Dragonair's HP away, but Dragonair still OHKOs with surf. With 3 Hyper potions, you do slay him whole if he doesn't crit you.
Elite four: Now this is the point where you should have Dragonite. Has the second highest BST, only behind Mewtwo. It also gets stab now, so yay!
Loreli: Unless you're trying to use it to fight Slowbro, don't even think about using it against her. With Slowbro however, a thunderbolt or two should teach it a lesson.
Bruno: Demolishes him. Surf just snipes his two Onix, while fly can stomp his fighting types. Not a good moment for Bruno.
Agatha: It can beat all of her Pokemon but her Gengars. Her Gengars have too good of a special stat, and you won't lay a hyper beam on them thanks to their ghost type. And fly won't do it either. Haunter and the other two can be managed thanks to not having the stats to stand up to this beast.
Lance: Great. Destroys Gyrados with thunderbolt, and everything else with ice beam.
Rival: Great. Destroys Venusaur and Egg with Fly, Rhydon goes down to surf, Hyper Beam just nukes Alakazam, Arcanine and Charizard can't do much to it, and the only way Blue can be a threat is if you chose Charmander. That is because Blastoise knows Blizzard. Otherwise, Blue just can't do much to Dragonite.
The same can be said in Yellow. Sandslash, the eveeelutions, and Fearow can't do much damage to it, neither can magneton, and the same goes for egg and Alakazam as in red.
Summary: It's resistances really do help in some major fights, slaughters anyone in the Pokemon league that isn't Loreli or Agatha's Gengars, great movepool really helps out in some other fights, but the things that hold it back is that it has a meh BST until the Pokemon League, and no stab until the Pokemon League. And since you have to put quite the effort into getting it, while it can be obtained mid game, it's tough to get it.