For Gyrados, I would recommend changing substitute to waterfall. It gives way more coverage and a reliable STAB move.
I would also recommend that you do change heatran to ferrothorn. Don't worry about fire, you have tapu lele with hidden power. As for steel, lucha with HJK takes care of ice...