Steel Wing, Outrage Dragonite: falls fast to ice of course, otherwise great for dishing out damage before fainting and stops Machamp
Any Blissey is fine
Gyarados is not a defender but will hold its own VS the most popular attackers with Dragon-type moves, even Hydropump, and stops Machamp. If by “Dark” you’re referring to Bite, that is a bad move for defense and should be TM’d for the future due to its now superior quick moves
Your Gyarados is also interchangeable with Slowbro for similar bulk and Slowbro learning Confusion as well as Ice Beam
If your city lacks great Pokémon then you can bank on other players having similar arsenals, therefore having similar counters to yours. Use that too