Gardevoir and Hariyama are the only 2 Pokemon on your team that learn an attack-raising move, so the easiest way to defeat Juan definitely involves using one of them.
+6 Lvl 38 0 SpA Gardevoir Psychic vs. Lvl 46 0 HP / 0 SpD Kingdra: 148-175 (106.4 - 125.8%) -- guaranteed OHKO
+6 Lvl 43 0 Atk Hariyama Vital Throw vs. Lvl 46 0 HP / 0 Def Kingdra: 140-165 (100.7 - 118.7%) -- guaranteed OHKO
source
(both calculations assume you have no IVs or EVs, so you can almost certainly OHKO his Kingdra at a lower level)
Assuming none of your Pokemon gained experience since they last leveled up, Gardevoir needs 19460 experience to reach level 38, and Hariyama needs 42260 to reach level 43.
source
So the easiest way to defeat Juan involves teaching Gardevoir calm mind and psychic (and thunderbolt for Crawdaunt), setting up on his Luvdisc, attacking until either you win or Gardevoir faints, and repeating this process until Gardevoir gains enough experience to win. You are guaranteed to win before Gardevoir reaches level 39, unless Juan gets 6 critical hits in a row or something like that.
After defeating Juan, I recommend putting Crobat (very few opponents are weak to poison or flying), Manectric (it has maybe 2 good moves), and Cacturne (it's slow and has a lot of weaknesses) in your PC, so it's easier to level up your other useful Pokemon like Gardevoir. When your team has only 3 battlers, you can defeat all the trainers between Mossdeep and Pacifidlog and the ones inside Victory Road, and then you should be ready to challenge the Elite 4.