Underlevelled, yet impatient to fight the Elite Four (or just bored of training with level 30s)? Despite being at least 10 levels below the Elite Four's Pokémon, you can still win (I did)! Play to type effectiveness. My Pokémon were all level 44 - 46 when I faced Lorelei. Here's my team:
TAKA/Raichu - Thunderbolt, Double Team, Quick Attack, Thunder Wave JUJU/Vaporeon - Surf, Sand-Attack, Aurora Beam, bite
MARMEE/Pidgeot - Wing Attack, Fly, Quick Attack, Sand-Attack
DIJKSTRA/Kadabra - Psybeam, Reflect, Recover, Psychic
WUKONG/Primeape - Karate Chop, Low Kick, ?, Strength
ZACK F./Charizard - Flamethrower, Cut, Slash, Smokescreen
Note: These are all one-hit KOs, unless otherwise specified. In between battles, make sure everyone has full HP and no status problems - some of them will be used as temporary switch-ins while you heal the more effective ones (basically acting as human - er, Pokémon shields - accuracy-lowering attacks are good for them to have). Since you are underlevelled and therefore may not have the stats to strike first, make good use of the Quick Claw. Don't bother with Leftovers. Make sure you have about 30 Revives, 30 Full Heals, 30 Lemonades, and 30 Hyper Potions. If you have the money, stock up on 50-or-so Full Restores instead. I hope you've saved up your Max Revives too. The Elite Four will annoyingly use Full Restore as soon as their Pokémon's HP goes red, unless you're lucky. Some of their Pokémon also hold Sitrus Berries.
Lorelei: I made TAKA hold the Exp. Share.
Dewgong - Thunderbolt, it may take two hits. A lot of guides say not to bother raising a Pikachu, but my Raichu's type effectiveness has come a long way.
Cloyster - Thunderbolt, it may take two hits.
Slowbro - Thunderbolt, it may take two hits.
Jynx - Flamethrower - fire melts ice.
Lapras - Flamethrower. This is quite an easy battle if your Thunder type has at least 150 HP.
Bruno: I made MARMEE hold the Exp. Share.
Onix x 2 - Surf. The types that Rock types are weak to, they're really weak to. Alternatively, use Psychic, Low Kick/Karate Chop or any strong Grass attack (i.e. not Absorb).
Hitmonlee - A few of my team got wiped out by him, but Fly works best. Flying types are good against Fighting types. Psychic types are too, but my Kadabra has awful HP and defense, so he gets knocked out from one attack.
Hitmonchan - A lot easier than Hitmonlee, use Fly.
Machamp - I had trouble with this one too, I was basically running out of Pokémon. I think I used a combination of Fly and Surf here.
Agatha: I made DIJKSTRA hold the Exp. Share, but he actually got killed first.
Gengar (with Double Team) - I had a LOT of trouble with him, mainly because he kept using Double Team until his evasiveness was maxed and I couldn't touch him. I resetted at least 5 times. I used Bite (Dark type) at first, but figured out that Fly is good against the second Gengar (and should work for this one too). Ghost types are weak against Dark (Bite) and Psychic, but Psychic types are weak against Shadowpunch. Remember not to use Ground, Normal, or anything that can't touch Ghosts. This Gengar really emphasises luck. Try to kill him before he uses Double Team more than twice - abuse soft reset if he does, it's pointless to go on.
Gengar (with Hypnosis) - Use the Pokéflute (or Full Heals, whatever) once you get put to sleep - do not delay. Same with Toxic, at the very least after one "hurt by poison" episode. This took a while because I had to keep healing, but use Fly - this will waste his PP. He will try to use Nightmare after Hypnosis, but if you use the Pokéflute like I said, he will waste that move because it fails.
Haunter - This one is easy, use Bite.
Golbat - Thunderbolt, it may take two hits.
Arbok - Psychic.
Lance: I made TAKA hold the Exp. Share.
Gyarados - Thunderbolt. WATCH OUT FOR THE PP.
Dragonair x 2 - Aurora Beam: they're weak against Ice. Takes two hits. Watch out, they might hit you with Thunder Wave or Hyper Beam (apparently 150 attack no matter what, but my Vaporeon only took 107 from Aerodactyl...).
Dragonite - Thunderbolt. I unfortunately got most of my team wiped out here because of Hyper Beam, so what I did was get my HP-high Charizard to repeatedly use Smokescreen while reviving and healing, and finally keep using Slash to lower its HP (very slowly). Then switch back to Raichu for Thunderbolt.
Aerodactyl - Surf, or Thunderbolt. He has Hyper Beam as well - the worst thing about being underleveled is that your HP may not be above 150.
Last battle...YOUR RIVAL: My starter was Charmander, so his team follows from that. His levels are slightly higher than the Elite Four's Pokémon. Mine were all at least 12 levels lower than his, but his dudes don't have annoying attacks like Agatha's, so it should be simple enough. Should any of your team faint, just use a body shield (I mainly used my Primeape and Kadabra), revive, and heal up.
Pidgeot - Thunderbolt, twice.
Rhydon - DON'T use Electric type attacks, they won't hit. Use Surf instead, which takes two hits.
Blastoise - His Blastoise has very powerful attacks (Hydro Pump, Skull Bash) so you should lower its accuracy/raise your evasiveness as much as possible first; preferably the former, at least 6 times, until it starts missing a lot. Then use Thunderbolt. If it uses Rain Dance, switch to Vaporeon or any Water/resistant type you have and kill some time with Surf - believe it or not, it actually works pretty well, despite the fact that "It's not very effective..." - Rain Dance increases the power of Water type attacks. Heal often so that you don't get killed and have to revive. Once the HP gets low enough, switch back to your Electric Type and use Thunderbolt. Slightly long and tedious, but that's what you get for being underlevelled...
Exeggutor - Flamethrower, or Aurora Beam, twice.
Alakazam - Psychic types are weak against Bug, Dark, and Ghost. Since I don't have a Ghost and Bugs are crappy, I used my Vaporeon's Bite (wish I had a Mightyena...), which took three hits. It killed my Vaporeon, so I switched to Charizard and used Smokescreen for a bit. Flamethrower and Surf actually work better than Bite, as Abra's evolutions all have really bad SP DEF. After my rival used about 5 Full Restores, along with 2 Recovers from Alakazam, I finally beat it.
Arcanine - Surf. Its Extremespeed sounds scary, but it's not that strong. I beat him with one Pokémon left, at 31 HP. I like to cut it close (don't do that).
I know I was very specific with regards to the Pokémon and attacks I use, but you can use any Pokémon with any attack as long as it's the same type and with high attack. Might as well use up all of your stat-increasing nutrients too, before the battles.
Gonna get Pokémon White next month, can't wait! I think I'll pick a girl, and I definitely want Oshawott. LOOK AT THIS:
BONUS: Want to know about my Pokémon's nerdy/dumb/weird names?
TAKA/Raichu - ???
JUJU/Vaporeon - Named after JUJU Cosmetics, famous for their inclusion of the hydrating component, hyaluronic acid (hydration - water - get it?).
MARMEE/Pidgeot - I don't know why I chose this, but it's after the mother in Little Women.
DIJKSTRA/Kadabra - Since my rival kept going on about how his newly-caught Abra was smart, I tried to think of a smart person's name. Dijkstra was a Dutch computer scientist.
WUKONG/Primeape - Named after Sun Wukong, the Monkey God.
ZACK F./Charizard - Named after Zack Fair, one of my favourite Final Fantasy dudes. Other favourites include Squall in FFVIII, Cloud in Advent Children, and Shiva, the GF in FFVIII. And of course, Noctis in Final Fantasy Versus XIII, which probably won't get released until a million years later...but still!