It depends on your needs.
If you know your opponent, or can send out Gardevoir when he has a Pokemon with a good Ability, Trace is better. If you know he uses Status moves a lot, then you can use that to your advantage with Synchronize. Or you can give it a Flame Orb to inflict Burn on your opponent, cutting their attack. But in general, I'd say Trace. If you hold Gardevoir back, then send her in when you can steal an awesome Ability, you can use their strategy against them. But, you can't always steal an awesome Ability, and sometimes, the Ability you do steal won't help you at all.
Like I said, it depends. Personally, I'd go for Trace. But Synchronize has it's perks as well.
Hopefully that wasn't to confusing.