Critter Counter: Kun Lai Runt and Flayer Youngling. Humanoids take less damage from Critters and these have beast attack which hurts critters.
Mecha counter: Any elemental will do, as they both take less damage from mechs and hurts mechs with elemental attacks.
Elemental counter: A good critter snail will murder elementals. Taking less damage from elementals and having the aquatic dive attack which hurts elementals.
Undead counter: an aquatic frog is what you want. Aquatics take less damage from undead, and frogs have critter attacks which hurts undead. Im quite fond of the swamp croaker from thunder isle, which is the only frog pet with the updated model.
Flying counter: Any dragon with magic attacks will hard counter flyers. Like Chrominius, Lil Tarecgosa or Nexus Whelpling.
Humanoid counter: Maggot/Larva type beasts comes with a undead attacks which hurts humanoids while taking less damage from them.
Magic counter: Mechanical Pandaren Dragonling. mechs take less damage from magic and it have a dragonkin attack.
Aquatic counter: Jade owl as already mentioned by you.
Dragonkin counter: Scourged whelpling, as it comes with the humanoid attack of call darkness while taking less damage from dragons. Takes a bit more work to make dreadful breath truly useful.
Beast counter: Dragon kite is the only hard counter against beasts unfortunately, as its a tcg pet. Being the only flyer with a mech attack.