Farfetch'd aka Quacklin' (stay with me on this one)
You get Farfetch'd from a trade in-game in return for a Bunnelby, so it'll gain boosted experience and you can tack a Lucky Egg on it or even use Pokemon Amie to make to level up even faster. At least it's not weak to anything Zygarde or Mewtwo can throw at it. It also gets STAB from False Swipe as well.
Plus you get the bonus of being awesome for taking out a Mewtwo with Quacklin'.
Marowak
Get a Cubone in Glittering Cave (level 15-16) and train it up to a Marowak. It'll be good against Zygarde since Marowak has base 110 defence, and a not shabby base 80 sp. def.
Mawile
Again found in Glittering Cave at a relatively low level, Mawile is pretty rare to encounter as well. It does have resistance to Psychic, takes neutral damage to Fighting and an immunity to Dragon. However it is weak to ground, so maybe try and find one with Intimidate if you want to go for Mawile, or get something to mass spam Charm or switch between Pokemon that have Intimidate. It's not a waste to train up Mawile considering you can use it later for its Mega-form.
Bisharp aka Pierce
There's one in Snowbelle City in a trade for a Jigglypuff. It's at level 50, which means it only needs a bit more training and it's ready to go. The problem is that it's weak to ground and Mewtwo has Aura Sphere.
Drapion
You can get one on Route 19 at about level 47-48. It has the bonus of psychic immunity and takes fighting hits neutrally, but it's also weak to ground.
Other options include Haxorus and Pangoro, but you get Axew and Pancham at level 10-13 or something like that, so if you've finished the game, then it'll take quite a bit of training to get it ready to fight Mewtwo/ Zygarde. Fearow is common in Victory Road too, but I just don't like it as a Pokemon (biased).