The only Pokemon you mentioned that are anything close to common threats in this metagame are Dragonite and Rotom-Wash. Any team utilizing a Gyarados set should have, at a minimum, one Rotom counter but really it should have more than one if possible. Gyarados should not be facing Rotom...