Gyarados is one of those jerks in the battlefield. It runs Dragon Dance, that's a staple. But the three more moves in slot are a question. Gyarados gained that bulk it needs, making it set up, then KILL later.
But, before we break down to the moves, adding the Dark typing to Gyarados is very ABYSSMAL on his part. Reducing his weakness for Electricity is good(I hear you over there). In exchange, You get backfired for it(Like A LOT). Being a part Dark-type makes survivability hard. Bugs moves can toy you over(U-Turn-Volt Switch COMBO), faster Psychics that are armed with Focus Blast can rip you apart(Alakazam), Grass types won't twitch, for their arsenals can knock you down, Fighting-types with Offensive setup+Priority will enjoy the carnage of killing a Mega tank, Fairies would be happy to rain down Special Nukes. Not to mention, this guy has a near-worthless ability, for his STABS don't match the abilities that resist damage of certain types, forcing him to go for other coverage moves, which obviously won't benefit from STAB. How I wish he was turned to a Water-Dragon type, so that only Dragon types and Fairy types could be effective on him. Pranksters would laugh as they Will-o-Wisp you to reduce attack, and sap your health.
But despite for his shortcomings, this guy is a force to be reckoned with. Without setup, it would take three hits to knock him down with his bulk. Again, he has access to dragon dance, which makes him move faster and hit harder for the next turn. He has a WIDE movepool that makes him run on various sets. His team could run Scolipede, Iron Defense, Sword's Dance, Speed Boost AND Baton PASS!!!<---- yeah, THAT BROKEN move. Doing this could make him MASSACRE the battlefield, thus, without using Dragon Dance, having four offensive moves at the same time(Obviously, to have use for his Mold Breaker), have a bulky defense, have a GODLIKE speed, and possess an outstanding attack power if done right.(Prepare your PHAZERS, everyone). Gyarados could run Thunder Wave to stop heavy setup on the opposition, switch to an ally, then return later. The only thing this guy lacks is a decent Priority move, which could destroy Sashers.
Overall, Gyarados is a good Mega, but not the best. With a proper team, this guy can wreck games. But the only thing hindering him is his typing and ability. How I wish this Magikarp friend of ours would have given an ability that would make him a large threat without having that much hassle on the setup.