In Gen VI, the easiest way to tell is that shiny Haunter has a blue inner mouth; normal Haunter has a red inner mouth.
Apart from that & the sparkles that appear at the beginning of battle, there's actually no way to tell shiny & normal Haunter apart; its body colour is exactly the same.
![image](https://cdn.bulbagarden.net/upload/6/6d/Spr_5b_093.png)
I couldn't find any X&Y sprites.