This is where the game really falls apart. You purify Shadow Pokemon by using Shadow Rush until they get in Hyper Mode and you call them out of it, or by using Scents with the Cologne Case you get after beating Dakim at Mt. Battle. There is no real variation when objectively your best strategy for most physical attackers is spamming high-crit Hyper Mode Shadow Rush. Outside legendaries and starters, your only real special attackers that are viable are like...Espeon and Flaaffy and that's basically it??? And you're gonna be stuck with Shadows until you beat Skrub in Relic Forest...which is like...roughly a third to a half of the game. Outside of Umbreon and Espeon, this basically forces you to be underleveled until then for no real reason.
Now I'm gonna review every Pokemon rapid-fire, good mons are in blue
Espeon: Best mon in the game bar none.
Umbreon: Requires Toxic, pretty meh as it has a ho-hum defensive type with few resistances, just drop it.
Makuhita: Good as Hariyama, but Makuhita is insanely frail and always moves last thanks to Vital Throw (don't use Cross Chop). Despite being the first Shadow Pokemon, it's a huge drag to raise earlygame and you're gonna be using Vital Throw for what feels like forever unless you get Brick Break from Pyrite Colosseum lategame. Not recommended overall.
Bayleef: Decent moves but lol Grass type starter. It's a tiny bit better off thanks to weather TMs and SolarBeam, but not by much.
Quilava: Good, but not many mons are weak to Fire and you're basically forced to use Fire Blast to do any real damage, which is risky on a glass cannon in a game where Earthquake or Water moves are everywhere.
Croconaw: Best starter by a mile. Surf with Rain Dance later is pretty good and Water is always good defensively.
Slugma: This has Flamethrower...and that's where the postives end because it is slow with an awful defensive type, and again, not much is weak to Fire.
Noctowl: Cool in theory with Hypnosis and Reflect, but I'd imagine you'd have to give this thing Toxic to do decent damage.
Flaaffy: Purified Thunderbolt + evolution is amazing but you have Dakim right after so lawl. You also have Thundershock for what feels like forever. Pretty good though, first good mon outside starters and Espeon.
Skiploom: You are only using this for a fast Sleep Powder: you're lying if you say it's good outside that niche. Pretty bad.
Quagsire: Fluctuating but a good option overall. Good defensive type, good lategame Earthquake, amazing in the Shadow Pokemon Lab. A solid choice.
Misdreavus: Literally the only Ghost type in the game, only decent for Confuse Ray hax because special moves require Mt. Battle. Though the bonehead Ai can make you laugh sometimes I guess. Meh, not worth it: it lacks moves.
Furret: MAN I LOVE THIS. Follow Me and Helping Hand on the same Pokemon in a Doubles-centric game with a strong early Strength to top it off? Fantastic by any measure and honestly a reason to pretend like I'm playing a good Pokemon game. If every Pokemon was as spicy as Furret, this game would be actually playable.
Yanma: l m a o G e n 3 Y a n m a
Remoraid: Level 20 when you start the game at level 25 about a fifth of the way through the game? It gets decent moves but who designed this?
Mantine: Good type for Dakim but then it falls off a cliff because BubbleBeam is pretty much its only move. If this thing had Surf I'd recommend it but it doesn't so no.
Qwilfish: Physical Gen 3 Water type where the Sludge Bomb TM can only be gotten from Under Colosseum Round 2: that's in the 50s so this thing is basically useless even with Surf. When Remoraid looks more attractive, you've got problems.
Meditite: Hey look another actually usable Pokemon, that's like what the fourth one after Flaaffy and Quagsire and Furret (discounting starters)? Hi Jump Kick is baller and even before evolving crit Shadow Rushes hit like hydrogen bombs.
Dunsparce: Glare and Yawn are cool if you were anything other than Dunsparce. Bad.
Swablu: Basically a souped up Noctowl with a better type and no Reflect. Dragon Dance is nice but using Fly to slowly sweep is meh with those offenses. Passable but not good, you just kill things too slow. Safeguard is good for Venus and you're okay for Miror B I guess?
Sudowoodo: Hmmm, let's see. Bad defensive type? Check. Slow as beans? Check. Natural Rock Slide means nothing when you'll never get an attack off, plus the bosses hate its guts? Check. Again like Qwilfish I feel for this thing.
Plusle: Traded EXP and Helping Hand are cool, coming at level 13 is not.
Hitmontop: This thing is way worse than it seems. Intimidate would be cool if you weren't stuck with lol Triple Kick until Pyrite Colosseum's Brick Break TM in the 50s. The ONE game Hitmontop could have shined in, and they screwed it up.
Entei: A normally bad legendary only looks good when you compare it to the mostly garbage options until now. You kinda want to Time Flute this.
Ledian: Ledian Mega Awful Offensively: you use screens and then you die: terrible.
Suicune: Rain Dance and Surf with actual stats means this is the best Water type in the game. Requires Time Flute.
Gligar: Awful moves and requiring the Earthquake TM (it doesn't even get Dig on purification WTF) means that you'd have to be desperate to use this.
Stantler: How do you make Hitmontop look good? By being Stantler. Intimidate and Hypnosis mean nothing with no solid STAB (Take Down sucks),
Piloswine: Natural Dig and Blizzard are cool but are slow and unreliable respectively, and that defensive typing is pretty bad.
Sneasel: What if you woke up one morning and decided to use Sneasel? Your whole life would change. Oh, the places you'll go nowhere with because Ice and Dark were Special back then off 35 S p e c i a l A t t a c k so have fun with Screech, Brick Break and (Mt. Battle) Shadow Ball through TMs. The best thing about Sneasel is its animations. Literally purifying it makes it worse because its better as a Hyper Moding, Shadow Rush critting piece of garbage.
Aipom: LOL Tickle bot
Murkrow: One of the better bad choices, Fly and decent Speed as well as a Dark type immune to Earthquake makes it slightly better than a 3/10.
Forretress: Only decent if you give it the Toxic TM: its only niche offensively is Explosion. Still not worth getting excited over because the endgame has plenty of things that hit Forretress neutrally. You can maybe wall Nascour's Psychic users I guess?
Ariados: STAB Sludge Bomb is good: too bad you have Ariados's stats which are firmly outclassed at this point.
Granbull: Wow an actually good Pokemon. STAB Strength, Intimidate, can take a hit. Alright.
Vibrava: Requires a TIme Flute and the Earthquake TM. According to my friend a Vibrava would need 16,830 XP to get to level 45, which basically forces you to use the three Rare Candies near Venus. You can only barely call it good enough.
Raikou: Requires Time Flute: good otherwise.
Sunflora: literally lol
Delibird: don't even think about it
Heracross: Hot take but this thing blows. After the four admin rematches, requires a crap ton of grinding to stand up to the final bosses, weak to to FOUR of Nascour's Psychic users (also weak to Blaziken), Evice's Salamence bodies it and his mons weak to Heracross can take a hit because you are underleveled (Slaking has Aerial Ace too by the way). Don't be fooled.
Skarmory: Okay so I wrote off Forretress for being hit neutrally endgame. Not the case with Skarmory. Yes, you only have six battles left. But this is your ticket to having a managable Nascour and Evice. Dusclops can't touch you, Xatu can't touch you, Metagross can't touch you, Walrein plays the neutral game - so only Gardevoir and Blaziken threaten it in Nascour's lineup. As for Evice, you resist Slowking's Psychic and everything Scizor and Salamence and even Slaking (!!) can do. Only Machamp and Tyrantitar can pose a threat as you Toxic stall them, though watch out for their boosting moves. An excellent Pokemon even if it's only around for the last couple battles.
Miltank: LMAO final boss gauntlet, shame as it has good moves
Absol: LMAO final boss guantlet
Houndoom: LMAO final boss guantlet, why the HECK wasn't this available at like, the Shadow Lab?
Tropius: LMAO final boss guantlet
Metagross: Good emergency check for Nascour (if you lose) and Evice if you have a Time Flute to spare. Last good mon.
Tyranitar: LOL final boss
Smeragle: Postgame, I'm not even gonna comment
Ursaring: Postgame trash
Shuckle: Postgame, requires Toxic, mostly inferior to Skarmory and even Forretress imo due to the worse type
Togetic: Literal last fight in postgame. Also, why is it level 20?
Togepi, Mareep, and Scizor: LOL Japanese e-reader
So roughly only a third of the 50 or so Pokemon are usable. and a few of those require Time Flute. You will always use the same Pokemon in this game unless you play with suboptimal choices. This ruins Pokemon's greatest aspect in my opinion, that being the team customization.