I have beaten HG/SS many times, and I know, by experience, that, to beat Clair, strategy wins over brute force, if her Pokemon and your Pokemon are around the same levels.
As you can see in Bulbapedia and other places that show NPC movesets, one of her Dragonair has Fire Blast. This one is usually fast and able to withstand Jynx and Piloswine's Ice type moves, but also able to defeat them with one Fire Blast if they are not around level 45.
So, there are two easy ways of defeating her. First, use strategy if your Pokémon are of the same level as hers or a bit under. In this case you have to be creative, using combination of powerful moves like thunder for example in sync with status moves are also good here, especially the ones that paralyze, decrease the opponent accuracy.
Second is by brute force. In this case, you just have to level up a bit more than her most powerful Pokémon that is level 41, and it should be enough. In this case, level 45 or more is ideal.
GYARADOS: To defeat him, it can be easily done using brute force, especially with Electric type moves. If your Flaaffy have evolved into Ampharos it should be able to defeat him easily with one Electric type move, however if is still Flaaffy, is worthy teaching it Thunder. (some people may disagree, but believe me is worthy, it can be brought in Goldenrod city) Also, let her hold quick claw just in case. (in this situation if your Pokémon are under 30, who is incredible strange at this point because they should be at least in a minimum of 35 if you just gone straight without stop to grind any time)
DRAGONAIR: She have two, one with aqua tail and other with fire blast. For those Dragonairs, you have to creative, the easier way to beat them if you pokémon are underleveled is paralyze them, put to sleep and reduce their accuracy or raise your evasiveness, once is done, you can defeat them just avoid their moves and keep hitting. (they can cure the status condition using shed skin, but still give you an edge.)
Another important thing here, is Pokémon specializing in self defense, if you even buy just a few drinks that increase HP and he already has good defensive attributes it will be enough to beat them. Meganium is a good example especially against the dragonair with aqua tail. Even the one with fire blast wouldn't be able against her great defensive attributes and the moves to do the job. If you have a pokémon specialized in this, bring it.
(to easily make good use of brute force, you can use a Jynx that is over level 45, she can defeat both Dragonairs, easily outspeeding them, and hit them hard with Ice type moves. In this situation, I encourage you to teach her Blizzard, since the other moves she knows by that level is not special and are weak, will not make good use of her higher stats [but is important that, if your Pokémon's level is too much higher than 45, like 50 or more, you can defeat her using basically any move and any Pokémon])
KINGDRA: It falls in the same situation as Dragonair, but your status moves will work better here. (except for Jynx) The move you have to watch out for is Smokescreen. If your Pokémon loses too much accuracy but has already been able to cause and keep him under crowd control, just switch it with another and switch back, so its accuracy resets.
Link for her Pokémon's movesets on Bulbapedia: https://bulbapedia.bulbagarden.net/wiki/Clair#Pok.C3.A9mon_HeartGold_and_SoulSilver