I am very picky when it comes to my Gardevoir so various things have to be just right. Even if it seems like more work than necessary as a casual player it's just something I like to do. Here are a few things I like to do with my Gardevoir.
First up is I like to find a Ralts with a Modest Nature. This Nature increases its Special Attack stat while decreasing its Attack stat. Sometimes this takes me forever and other times it takes no time at all. It's weird. However, I am willing to hunt for as long as it takes to get that one Nature I want, even if it takes days (which it really did when I was playing Pokémon Alpha Sapphire *cough*). If you're concerned about Gardevoir's lowish Defense then Bold is another way to go. This increases its Defense stat while decreasing its Attack stat. Modest is where it's at for me though. I love me some Special Attack. Characteristics are also something worth considering, but most of the time I just ignore them because it seems like a lot of extra work for a tiny boost, plus I'm not sure which does what and I'm lazy.
Next up is Ability. Gardevoir has lots of nifty Abilities that I'm cool with any of them. Abilities Gardevoir has include Synchronize (passes poison, paralyze, or burn to the Pokémon that inflicted it), Trace (copies an opposing Pokémon's Ability), and its Hidden Ability Telepathy (anticipates an ally's attack and dodges it). I personally like Synchronize the best because if a Pokémon inflicts a status ailment on me I can inflict it right back at them. Unfortunately there are some cases where this doesn't always work such as if an Electric-type uses Thunder Wave to paralyze me I cannot paralyze them as they are immune to it. Mostly though I like it for its out of combat effects where it has a chance of attracting a Pokémon with the same Nature as itself. It's awesome.
Other things to look into as well are breeding and Super Training. Personally there is nothing I'm interested in when it comes to breeding, but for someone else there may be something they like. Super Training is great for getting those EV's (effort values) into the stats you want. Pokémon battles tend to be a bit random on where the stats go so Super Training is a great help to take some of that randomness away. I like to put my EV's mostly into Gardevoir's Special Attack, but I'll also put some into its Defense, Special Defense, Speed, and HP too. Attack I just ignore because I don't use it. This tool was introduced in Pokémon X/Y, but it is also available in Pokémon Omega Ruby/Alpha Sapphire.
Last up is moves. Although this changes a bit from game to game the moves I have taught my Gardevoir in Pokémon Alpha Sapphire include Moonblast, Psychic, Shadow Ball, and Energy Ball. This makes it effective against a bunch of different Pokémon types and powerful to boot. I love it. Energy Ball I will sometimes swap out for Flash when I find myself in a dark cave, but it has its perks in Pokémon battles too. I can always teach it Energy Ball again when I am done with Flash which is awesome.