so lets talk about gyarados. it has an amazing attack of 125 and an average 81 speed. it also have a decent movepool, having access to earthquake(cyrus final battle) and dragon dance.
you actually have plenty of good counters, like luxray, jolteon, magnezone
luxray
pros:
1. have the one of the best if not the best ability to battle gyarados, which is intimidate
2. amazing attack stat
3. decent spc.attack stat
4. early access
cons
1. pretty bad movepool
2. doesnt have that many physical electric moves
3. slower than gyarados
jolteon
pros:
1. amazing speed stat
2. amazing spc.attack stat
3. definitely KO's gyarados in one hit if it could land great special electric moves like thunderbolt
cons:
1. bad defense
2. pretty bad movepool but could worked out
3. need thunderstone to evolve
4. you can only get eevee from a gift before the you get the national dex
magnezone
pros:
1. have an amazing dual typing, electric and steel, which makes it have 10 resistance(fairy not included) 3 weaknesses with one 4x and 1 immunity
2. amazing spc.attack stat
3. amazing defense and spc.defense
cons:
1. very bad speed
2. bad movepool
3. access mid-game and evolve late-game
4. it will faint against cyrus gyarados because of its slowness and 4x weakness against cyrus gyarados earthquake could be KO'd by it (except if level up properly and have good defense)
out of these 3 I recommend using jolteon, but you can use whatever you want, and here is the moveset
luxray @anything
nature: (i recommend if you want a spc.attack luxray, go with modest or timid, if you want attacker luxray, go with jolly or adamant)
- thunderbolt/discharge/thunder fang
- crunch
- strength/filler
- filler
jolteon @anything
nature: I recommend dont lower its speed and spc.attack
- thunderbolt
- pin missile
- dig/double kick/filler
- filler
magnezone @anything
nature: I recommend that doesnt lower its spc.attack
- thunderbolt/discharge
- tri attack
- magnet bomb/flash cannon
- filler
but, like yorec said you could definitely use porygon2/porygonZ or gardevoir
hope I helps!