I'm gonna use their Gen 8 movesets and abilities here.
Typing: Tie. They're both Fairy/Psychic
Abilities: Gardevoir stomps. They can instantly copy all of Hatterene's abilities while also having some of their own
Moveset: I'm gonna have to give an edge to Gardevoir here. Most of their moves are identical, so if both use Imprison, they won't matter. So we basically have to look at the other moves that they know.
Since I'm too lazy to list all of them out, I'm only going to list out the useful ones (meaning usable and effective):
Gardevoir: Double Team, Reflect, all the punches and kicks, Wish, Body Slam, Thunderbolt, , Destiny Bond, Shadow Sneak,
Hatterene: Brutal Swing, Dark Pulse, Shadow Claw, Psycho Cut, Play Rough, Power Whip, Swords Dance, Giga Drain
(I might have missed a few, don't @ me)
Overall, it's pretty clear to me that Gardevoir has a significant advantage here. The only advantage Hatterene has over Gardevoir is physical moves and physical attack boosts (plus draining moves), while Gardevoir also has other physical moves (which she can boost with Power Switch) priority moves, ultra instinct, better physical defense (via Reflect), and more acces to status moves (paralysis with Thunderbolt and Body Slam). Plus, Gardevoir literally can't lose. Once they sets up Destiny bond, either both of them are going to die, or Gardevoir wins. Simple as that.
Overall, Gardevoir should win