Frankly, they're both so similar, it'll boil down to personal preference based on whether you prefer Speed or bulk.
Personally, I'd prefer Gardevoir, because:
- Despite being slower (Base 80 speed versus Kadabra's base 105), it is still faster than most of the opposing Pokemon you face, with some rare exceptions.
- It has greater HP and defenses so while both still go down to string Super Effective moves, Gardevoir has a better chance of surviving neutral attacks, which are more common.
- Kadabra's Recover isn't as useful as you have access to potions, etc. whereas Gardevoir's Magical Leaf gives you a little extra Grass coverage early on.
- Gardevoir also learns its main STAB Psychic earlier, but Kadabra hits harder sooner.
- It looks better :b
Now, both of them learn similar TMs and their Special Attack is comparable (125 Gardevoir versus 120 Kadabra) so they're both plenty capable of dealing strong damage with Psychic and Shadow Ball.
The final verdict is this:
Kadabra hits harder earlier on, and is very strong till the middle badges. However, once you get to the latter gyms and the Victory Road and Elite 4, the Pokemon you face are much tougher and more difficult to OHKO. And given how frail Kadabra is, it is very easily knocked out. From here on out, Gardevoir is better. So basically, what you can do is use Kadabra early on (till Fantina, but not beyond Crasher), then swap it out for Gardevoir.