Aggron can tack on a lot of TMs, sure, but with his dismal special attack, hydro pump, flamethrower, and thunderbolt may as well be NFE by default and normal against things they’re SE against. The low-accuracy iron tail is okay after STAB.
In terms of the E4, Blaziken also sweeps pretty easily. Unless you’re using him against things fire and fighting can’t hit well (like a water flying type, which every generation has for some reason), or a physical wall, you can usually hit them before they hit you, and blaziken’s hits can kill.
Looking at Emerald’s E4:
The first one is all dark types. Fighting type is SE, add STAB for overkill on Blaziken’s base 120 attack.
The second is ghosts. Dusclops has the defenses to take a hit, so maybe having a second pokemon on the team to take him down would be wise. Otherwise Blazy is overleveled enough to OHKO Dusclops, too.
Next is ice types. Moving along.
Dragon types pose an actual threat, resisting most of what Blazy can do, but at the same time Sceptile is in the same boat. Swampert usually runs ice beam, but so does the Pelipper you picked up to fly around or, hell, use the fucking Rayquaza you caught to sweep. And don’t give me any shit about not catching Ray yet. I had a team of 4 level 30-somethings and caught him on attempt 1. Outrage/dragon claw/ice beam and move along.
The champion has water types which could causes issues. One by one:
Wailord: Low defense. Any fighting move will do.
Tentacruel: Use EQ that you should have on Blazy and move on.
Whiscash: Use your ice beamer.
Ludicolo: Use your flying type.
G-dos: The only real threat on the team. If you have something with thunderbolt, now is the time to use it for an instant win. Rayquaza should be running it.
Milotic: A bit of a pain in the ass, but it lacks bite. It’s surf will hurt, but Blazy/Ray can hit it harder before it can recover.
Speed+attack is just really broken in the main game.