So at one point I want to get off my lazy ass and beat these games, but on FireRed I can't beat the elite four, and on LeafGreen I can't beat the second round of the elite four. It's mostly Gary on LeafGreen, as I've been stuck there (since I saved there) for God knows how long. Here is what I have for LeafGreen: Venusaur - Level 69: Solarbeam Razor Leaf Strength Frenzy Plant Dugtrio - Level 56: Earthquake Magnitude Rock Smash Cut Moltres - Level 55: Fire Spin Agility Fire Blast Flamethrower Articuno - Level 56: Rock Smash Agility Fly Ice Beam Zapdos - Level 55: Rock Smash Agility Thunder Drill Peck Mewtwo - Level 74: Swift Recover Safeguard Psychic Here is what I have for FireRed: Blastoise - Level 43: Hydro Cannon Surf Water Pulse Rain Dance Pidgeot - Level 43: Wing Attack Aerial Ace Fly Featherdance Marowak - Level 38: Strength Bone Club Bonemerang Rock Smash Hypno - Level 38: Psychic Hypnosis Metronome Confusion Electabuzz - Level 41: Thunder Thunderpunch Light Screen Screech Dewgong - Level 36: Blizzard Icy Wind Aurora Beam Rest
Alright. Lose to Gary or whatever and fly to Vermillion, then sail to One Island. Go up the island a bit until you hit the cave on the right side. That's the hot springs or whatever the heck it's called. Outside you should see some fighters. Use the Vs. Seeker and fight all of the fighters that want to battle. Once you're done with all of the ones who want to fight, go in the hot springs, heal, and come back out and do it again. You can get great levels with this. For added speed, go to the Safari Zone and wild Chansey have a 5% chance of containing a Lucky Egg, which accelerates experience gain.
On top of this advice, I'd also suggest investing in giving your Pokemon a more diverse moveset. So many of them have 3+ moves of their same type, and while having a couple Same Type Attack Bonus (STAB) moves usually recommended, having 3+ water moves on Blastoise or 3+ Fire moves on a Charizard can hinder you more than help. Think of it this way; say you're fighting Lance, and you only have your Articuno, Moltres, and Venusaur left (don't want to use revives just yet since he only has his Dragonite left). Your Articuno has a bit of health but you're like "NAH SON I GOT THIS 1 ICE BEAM 1HKO," and you do it...but Dragonite is still standing and knocks your Articuno out. You are kind of boned because Moltres and Venusaur will not be hitting that Dragonite for much at all, because 6/8 moves are not very effective against Dragonite, and it will likely destroy them if not taken out. This is why you try to want to have diverse movesets for your Pokemon; if you're prime Pokemon for that part of the fight faints, you don't have to worry nearly as much because you'll be able to have a backup to fall on (even if it's not as good, it'll be better than have 4x of the same move). Your Zapdos and Articuno are good examples of diverse movesets (2 STAB moves that utilize their dual typing, plus some other moves for coverage). Your Blastoise in LeafGreen and Dewgong don't have good coverage; Blastoise only has Water type moves to rely on, and Dewgong doesn't have any water type moves to utilize its secondary Water typing (which would give another STAB move & coverage against Fire types).
Blastoise is FireRed, actually. :p But, anyway, I'll agree that that's definitely a problem, but I think my biggest problem are my levels. Notice how in LeafGreen they are more spread out: Venusaur and Mewtwo and levels 69 and 74, respectively, while everyone else is 55 or 56. In FireRed, they're lower, but more around the same level. Alongside that, the elite four (at least during the second rounds -- I don't remember what changes during the first and second rounds) have Pokémon around level 65 or 70. Right now I only have one Revive on LeafGreen with barely any money. By the time I make it to Gary, I'm kinda hurt, but there have been times where I'm only left with Mewtwo because everyone else gets knocked out in the early battles, and I have no way of reviving and if I have revives it's a waste of time reviving my Pokémon because they knocked out or really hurt even by moves that aren't very effective against them because of their levels. Mewtwo's really the only one who, even from a super effective move like Crunch, is able to survive for a little while, but Recover doesn't heal as much as Crunch deals, so he eventually goes down.