So far, Red.
I challenged Red with my Pokémon levels 50-52 (I keep their levels as close as possible together). I took out his Pikachu, Venusaur and Charizard, but got killed by his Aerodactyl :/
Lance was an absolute struggle, as my Pokémon were the same level (50-52, a few had leveled a little bit due to the elite four), but he still had some Pokémon like twenty levels higher than mine. The only reason I won was because my Snorlax managed to hang on through his main Dragonite's Draco Meteor, so it just got weaker and weaker, so I managed to spam Dragon Dance on my Kingdra to take down the last two.
My team btw is Snorlax, Scyther, Kingdra, Houndoom, Rhydon and Lucario.