Got through my playthrough.
Tepig
It's not a speedrun damn it.
Seriously though, Tepig is an all-around solid Pokémon. Tepig has a really good early-game being able to blitz through most things outside of the first two Gyms where it can get through them alone, but it's more efficient to get assistance in the form of another Pokémon (Pansage). It scales well, though the late to endgame leaves a bit to be desired. It's good against Burgh, the mid-game gyms are okay to rough, Brycen is easy, but it struggles in Opelucid Gym, especially the trainers who will just DD in your face and one shot you with Dragon Claw with Fraxure. Plasma matchup, in general, is good. Field trainers it doesn't have too many issues. Bianca and Cheren are okayish but fighting Bianca's Serperior in the rain isn't something I would recommend casually. Problem is the endgame is rather rough. It has a good matchup in Grimsley (save Krookodile unless you X-Speed it), and can deal with half of N's team. Everything else it just wishes this was a speedrun where it can be an over-leveled Emboar with the ability to just cleave through matchups with a couple of X-Items and a little dose of luck. But this isn't a speedrun, so it's not going to have the luxury of being over-leveled and tends to struggle, mostly due to its bad speed and its bulk leaving a lot to be desired. There is a reason why Tepig isn't S-Rank.
For those curious, I had a Hasty variant and it finished at Lv47. It evolved on Route 3 and then on the first Hiker in Twist Mountain. Final move-set was Brick Break/Rollout/Heat Crash/Flame Charge.
Woobat
Woobat was something. For matchups, Woobat is a useful death fodder for Lenora, has a good matchup on Burgh, and should steer clear of Elesa. Clay if you have Calm Mind you can set up on Palpitoad, but it needs to be evolved to even touch Excadrill. It sets up on Skyla's Swoobat. For Brycen, you can exploit the AI of Vanillish to bait it into Acid Armour to set up Calm Mind and by the time AA is done, Vanillish will use Astonish instead of Frost Breath. But it needs good Special Attack, otherwise, Beartic lives an attack even at +6 and Icicle Crash takes it out. Drayden/Iris it cannot set up because of Dragon Tail, but it's not completely useless, especially if Air Slash flinches. For the final fights, Marshal is its only okay matchup, AND ONLY IF it gets a free switch-in and you expect a Full Restore. This is because you can get a Calm Mind in and deal a lot of damage, otherwise, it falls to random Rock-type coverage. Everything else, the best it can do is get an attack in, deal not much damage and fall. Field trainers are decent, and Team Plasma matchups aren't too bad because it can get some Flying-type coverage to help deal with the Dark-types. Bianca/Cheren matchups aren't too great though Simisage and Serperior do not enjoy it.
In short, Woobat has its moments, but it needs good Special Attack to do anything super noteworthy, and even then, its bad bulk really hurts late-game. Also if you pick it as your flier, you have a little bit of 4MSS as you probably want Calm Mind, but you also want Psychic, Air Slash, and Shadow Ball, and you need to drop one of those if you have Fly and the Move Deleter being in Mistralton isn't very convenient outside of catching another mon to use as a Fly Slave.
For those curious, I had a Gentle Unaware variant, and it finished at Lv46. It evolved at Lv30 after the Route 6 Bianca fight. Final move-set was Calm Mind/Psychic/Air Slash/Fly.
Yamask
Solid defensive Pokémon. Will-O-Wisp + Hex scales well throughout the game and combined with its physical bulk and Mummy, allow it to deal with nearly every Physically-based Pokémon in the game. Night Shade is not too shabby either, and Shadow Ball is a consistent move. Gym Leader matchups are actually really good, though not super efficient. It can deal with Elesa when holding an Eviolite as it only gets three shot by Volt Switch and can WoW + Hex through the matchup. For Clay, it can deal with Excadrill and doesn't care about Hone Claws, though Krokorok isn't super safe but could work. For Skyla, it can deal with Swoobat, but you are better off using something else for Unfezant and Swanna. Brycen and Drayden/Iris it can reliably deal with the threats there (and can potentially solo Brycen with just one healing item needed), though remember that Dragon Tail is a thing for Drayden/Iris. Bianca/Cheren matchups aren't too crash hot, field trainers really vary since its biggest issue comes in the form of coverage (Its only decent attacking moves by level-up are all Ghost-type). Plasma matchup isn't very consistent either. End-game it kinda falls apart, however. It does REALLY well against Marshal (though Conk can give it problems), but other than that? It struggles. Most of it is because of its bad speed and its special bulk as Cofagrigus leaves a little to be desired so stuff like Shadow Ball even neutrally leaves a big hole if not, outright KOes. It could do things against some of N's team, but its end-game, in general, is just... bad.
For those curious, I had a Naive variant, and it finished at Lv45. It evolved halfway through the Mistralton Gym. Final move-set was Shadow Ball/Night Shade/Hex/Will-O-Wisp.
Ferroseed
Definitely the MVP of the run. Getting Curse and Gyro Ball straight out of the bat is a big deal as not only does it boost its performance significantly, but it also makes Gyro Ball really powerful, and it's slow anyway so it doesn't matter too much. Its matchups are excellent. The only real bad matchups are Marshal and N (while Reshiram and Zoroark are still around, after that you are clear). I guess things like Ghetsis' Hydreigon, some of Caitlin's Focus Miss spammers, and Chandelure are also bad matchups, but it isn't anything some X Sp Def's or some smart PP stalling for Chandelure (Five Fire Blasts) cannot fix. Other than that, most other matchups are just ripe for a win because Ferroseed can just set up or something. Its Plasma matchups for what's left are definitely good, the Bianca/Cheren matchups aren't too great, but workable. For field trainers the low speed can be an issue, but it can definitely tank the matchups. It did not really need any babysitting despite the fairly late evolution and paid back in spades, to the point that it basically became a crutch in the endgame because it was the only thing in my party that could put two and two together. With the help of X-Sp. Defends in some matchups (Caitlin, N, Ghetsis), because otherwise I would still be fighting them now. Should definitely be B-Rank MINIMUM. Hesistant to say A simply because of low speed (mid-lategame appearance doesn't matter since Joltik/Cobalion are in A-Rank).
For those curious, I had a Bashful variant, and it finished at Lv53. It evolved right at the end of the four in a row Plasma Gauntlet on Dragonspiral Tower. Final move-set was Curse/Iron Head/Power Whip/Gyro Ball.
Bouffalant
End-game Pokémon, does much better on paper than in practice. It does have a really powerful STAB Head Charge which with Reckless boosts and maybe Work Up, can punch a huge hole in things. In practice? Its speed is really a downside. And though it is bulky enough to live some attacks like Chandelure's Fire Blast and Reshiram's Fusion Flare, it still doesn't help too much as it is still two shot, giving you only one shot to tear a hole in things or to PP stall for teammates. Outside of field trainers, it has no gimme matchups (not without X-Items, which says something about it) and the best it can do is punch a hole in one or two things before biting the dust. The best it can do with Shauntal is tank Fire Blasts so a fire-type weak Pokémon can come in, Grimsley it doesn't like Scrafty (Revenge does things on that fight and on N I guess), Caitilin it doesn't like the Focus Blast users such as Reuniclus, Marshal is a hard avoid (though I guess it outspeeds Throh/Conkeldurr if your speed is good enough?). That is pretty much the main pattern, it can punch a hole in things (outside of Ghost-types, where you can only rely on Bulldoze/Megahorn), but since everything hits hard, it can only live one attack. Just not a really impressive Pokémon for how late you get it. If given a little more attention it may do things, but I didn't get much meaningful out of it on the fights that mattered outside of two situations (PP Stall Chandelure, pick off Reshiram).
For those curious, I had a Hasty Reckless variant, and it finished at Lv47. Final move-set was Work Up/Revenge/Head Charge/Megahorn.
Final IGT was 9:18 so it was a pretty quick run. I might do another run with different Pokémon soon to test more things out.
---
Looking at it at the end of the day with my final team and levels (and I basically rushed through the game) pretty much makes a good case as to why some of the Lv50+ evolutions shouldn't really be going anywhere high or something (ex. Mienfoo): Unless you are going out of your way to grind (the only real grinding I did was a couple of Audino at the start of the game and then some optional trainers to catchup a newly-caught Pokémon), you aren't evolving those before the end of the run, unless it becomes a big crutch like Ferrothorn did for me and gain a bunch of levels in the league, or you are doing something like running a two-three Pokémon team where there's less experience going to other Pokémon. That's not to say you cannot evolve it, but the main point is those really late evolutions look to be really inefficient in general, especially on larger party sizes.