What are your reasons for Gen 3 dex being bad? Also explain more about the Mareep and moveslot thing.
(Prepare for a lengthy response) I agree that when you compared the regional dex's of every game, Johto's power level on the whole is lower, but I would state contrary and say Hoenn isn't that much lower because how many of them are just as unusable or only serve a single purpose that isn't even useful in game? You have the worst Water/Ground type in Whishcash (who is already outclassed by Swampert) two double battle specific Pokemon (Plusle, Minun, Volbeat, Illumise) one of each duo is just a worst version of the other, Shedinja (who's gimmick isn't good in a gam where gyms are unfriendly to Bug types) Luvdisc who rivals that of Delibird, Ariados and Pre Gen4 Yanma in usefulness, Mawile (especially in Emerald where its availability is worse) Tropius, Spinda, Castform, Nosepass (also bad availability) Cradily, Huntail (a worse Gorebyss who isn't even available until after 7th badge) Relicanth, Delcatty (only made for contest and its stats are honestly worse than 95% of the Johto Dex) Beautifly, Dustox (worse versions of Butterfree and Beedrill) Surskit and Masquerain (not even obtainable in Emerald) Glalie (mediocre stats, the best of the bad mons and its only uses are for a couple of Elite Four battles, can't be gotten until 7 badges) Wailord, Mightyena, Pelipper (bad before it got Drizzle) Chimecho, Grumpig (not bad, but it literally has NOTHING but STAB Psychic, and is just a worse Gardevoir) Bannette, Swalot (a worse Muk) . This is a Dex that features 202 Pokémon, 135 of which are new out of these options the ones I just listed equate to around 27 of them are so weak or outclassed to be useful, and if you add the amount you can't get due to being too late game, like around 7 to 8 badges (The Adformentioned Huntail, Gorebyss, Chimecho, Salamence, Metagross, Regis, Walrein, Dusclops) that's like 7 more options too late. So really you don't have as many options as you think.
To Hoenn's credit there is a bit more to do than in Johto, but it is still too late for the post Mossdeep Pokemon. That's literally half of your options in game exclusively Hoenn mons! With all of this abundance of Gen 2 hate videos recently (especially since it ties into annoying trend Nintendo fans like to do nowadays or people's mindsets regarding gaming as a whole or how they act so hostile and nasty toward GF) it has me questioning if these people are playing the same game as I am. Because in a lot of these cases I have seen people call Gen 2 having the worst level up movesets, ignoring hat Gens 1, 3 and 4 are just as bad as Gen 2, but never really see a goo arguement for why they are okay and Gen 2 isn't. Yes, learnsets are bad in Gen 2 (insert echo chamber number 100 for Xatu not learning Psychic until 65), but to objectively say they are worse than the Gens stated is flat out dishonest. In Gen 1 Pokemon literally have the same moveset issues, and while you can get powerful moves through TMs more effeciently, because it is Gen 1 it creates issues of its own. For one, not a single electric type learns Thunderbolt, other than Yellow Pikachu, this means if you decide on an Electric type for the team, you have to use Thunderbolt on it, but here's another problem, what if I wanted to teach Thunderbolt to another Pokemon for a coverage move, because you know there's more to a Pokemon than having STAB and doesn't make the choice or game flawed. Welp I can't do that, Sorry any other mon I want coverage on, TMs aren't relearnable and I can't teach all the good moves that aren't Hyper Beam to a team. And this is an issue I find every time I've played Gen 1, I might be able to teach a move to a Mon, but one will lack a coverage option, especially if its just better to use the one move on that particular Pokemon. And no saying "limitations means you can't be OP" you can just choose not to buy TMs for multiple team members. Plus Gen 1's AI have such bad movesets and mechanics are so broken its hard to be "hard" any way. Gen 2 admittedly has this problem, with the absent Mareep line (my rant on that coming in a bit) from Crystal other electric type options don' learn electric moves unless you buy Thunder in the Goldenrod game corner or hatch a Pichu/Elekid other than Spark Lanturn, but at the very least I can provide electric coverage to other mons with elemental punches, so that I have a form of Electric damage.
Then there's the issue of mons have blatant filler in their learnsets, why does Rhydon learn Tail Whip a 55? Ignoring the fact the player would have their crafted moveset for it, it's just blatant textbox filler, because that move could just go to a different option instead of something I chuck before the first or second Gym. It has to exclusively use TMs to be useful, the same with Tauros, the best mon In game is just TM the moveset, or the fact Rapidash learns Tail Whip at 35 and can't even learn Flamethrower, and with a poultry base 80 Sp Attack why give it Fire Blast? Yes it can abuse Gen 1 crit chances, but that's besides my specific point. (It also comes late and evolves late) or the worst offender being Aerodactyl who gets no STAB or no reliable physical damaging moves outside of Hyper Beam. Or how Charizard can't learn fly in RB, which means the player is forced to waste a teamslot on a mon to do what it should already be doing. Even in Gen 3 this is a problem, even with the starters. The Treecko line has garbage level up moves, with it having Absorb as its best move until 28 where it gets Leaf Blade, then its only coverage option is Dragon Claw after the 8th gym. With Torchic line its stuck with Double Kick until the 8th Gym where you can TM it Brick Break and doesn't get Sky Uppercut until 58, and if you wanna teach it fire type moves? You're stuck with Blaze Kick unless you use Fire Blast (which I prefer the more raw power any way) or game cornering for Flamethrower, otherwise you're stuck with a slightly weaker and less accurate Flamethrower (as a side note, it would be a bit hypocritical to say getting Fire Blast is fine there, but not fine in Gen 2, when a complaint is Typhlosion can't learn Flamethrower until level 60 and Fire Punch is the same as Blaze Kick), don't worry I'll get there) and doesn't get many coverage moves because the ones it could do are locked behind postgame. Which is the same with the popular Gardevoir, who only spams Psychic and Thunderbolt because any coverage move is postgame, or Grumpig and Chimecho only being limited to STAB Psychic for the same reason (unless you wanna farm Hidden Power coverage) or Breloom not learning Spore until you keep it as a Shroomish until level 54.
I always hated the fact they often lock moves behind postgames, usually when a Battle Facitity is involved, but it unfairly punishes a lot of Pokemon movesets, why exactly can I not teach Gardevoir Ice Punch? It's not even like giving it that option would be OP, it's just locked behind postgame (and if you play RS you just don't have those options) people might see it as a reward for interacting with Postgame, but just limit that to specific moves or other options that don't have to interfere with my movepool or coverage options.
And while this isn't an excuse, most Pokemon in Gen 2 have good coverage moves locked behind breeding, because it was GF's way of promoting a new mechanic, but again, I can say this for other games, criticizing Gen 2 for lack of options due to mechanics made for limited player interaction is a overarching flaw, because this is why version exclusives can be seen as a flaw for every game, its a way for GF to encourage socialability since that is part of what they want to market Pokemon as, but these aspects are lost in translation because Ninendo will jus shut down their connectivity services and stuff like trading will become a "flaw" due to a lack of access, like version exclusives we no longer have access to without hacks. Regardless of the QoL we have in newer games, this will all be a flaw over time. When it comes to Gen 4, the remakes (Johto) have the same movepool issue. Xatu learns Psychic at level 65 in Gen 2? Great it learns it at 50 in HGSS, Typhlosion Flamethrower at level 60 in GSC? 43 in HGSS, and because these remakes are hated for being "Johto" enough nowadays too I will say like with Gen 2 these aren't just Johto issues, this is a generational issue (many of the complaints people cite as Johto issues aren't native to Johto, its just a case of them having their mons suffer from a generation issue moreso because of options, even level curve, because while it is the worst in regards to how it scales the player newer games do the opposite in reverse, Gens 6 and 7 have a level curve problem with making the player too strong), because if you look up Diamond, Pearl and Platinum movesets it will be the exact same, but I guess because people have a bias toward Platinum these will be brushed off or gatekept in some way. I can even provide Platinum specific examples. Want to enjoy new Eevee evolutions? Well have this nice Leafeon who doesn't learn Leaf Blade until LEVEL 71! And stuck with Razor Leaf the entire game, or how about X Scissor? TM only. Swords Dance? 78 and its Platinum exclusive. Well how about Glaceon? Blizzard a 71 for its best Special damage unless you use TMs. That's also not mentioning Luxray, Weavile, Purugly, Skunktank, Carnivine, Bronzong, Rampardos, Honchcrow.
Lastly when it comes to the Mareep line complaint, this is done for people who say Crystal is bad SOLELY for the premise that it doesn't have Mareep. Okay, so this makes no sense to me from a logical standpoint. So, some of the updated features Crystal added like elminating the use of flash in Mt Mortar, reducing the amount of 1% swarm encounters from 7 to 3, providing evolution stones (which gives more team options) updated area designs, better sprites, female player option, making people you register in Pokegear have personalized dialogue, reduced roamers from 3 to 1 etc don't matter because 1 Pokemon line is excluded from the game? Like yes, Mareep should be in the game, but that's a downright stupid claim to say he overall better experience is worse because of what is a minor inconvenience. And this is also an odd claim to make because the main reason for criticizing lack of options is because they want more options, but the way they act as if Mareep's exclusion comes off as it's a mandatory overused option you MUST use, kinda goes against that because you've objectively chosen to engage limitedly. I agree Mareep should be in Crystal, but so should every version exclusive Pokemon in every game because in modern day players have less options because of these lost in time features, especially when the enhanced 3rd versions don' include mons, meaning certain mons miss out on the superior versions (which makes the dual versions pointless) these are issues because you don't have options to get them, all Pokemon games should make every regional Pokemon available period, like years from now the same will apply to SV, which will resort to complaints about "Why doesn't X version have this or that" but by this logic, is Emerald objectively worse than Ruby and Sapphire because Wallace is a worse choice for champion over Steven or the fact Pokemon like Zangoose are just Ruby exclusive? Disregarding the various improvements and Battle Frontier? Emerald doesn't even have Medicham. If I want Mareep in Johto I'll play the remakes, instead of limiting myself playing worse versions because of a single team option.