You've got it kinda tough, seeing as your starter is half Fighting. When I went against this gym first, took me a long time too. Done it about 6 or 7 more times since then in Sapphire 'cause of boredom...anyway.
The Snorunt is a good idea, evolve it, teach Crunch and Ice Beam or Blizzard. I prefer Ice Beam because it hits more steadily and can be used more.
Absol is one of my personal favorites, solid attack, not bad movepool with TM/HMs, but it may take too long to get it up to a respectable level. And if I remember right, those two pull off the Sunny Day/Solarbeam combo, right? You might wanna teach someone Rain Dance to cancel that and also to dampen Solrock's fire moves.
Replace Gyarados' Surf with Waterfall, it works lots better with the physical damage. Gyarados' special attack is awful.
Y' might wanna switch these moves...
-Blaziken's Bulk Up. It helps for long battles, but you lose a turn. And two turns of Psychic is probably all it'll take for a KO.
-Vibrava's Sand Tomb and Sand-Attack. To be blunt, they're useless...
-Lairon's Roar. It won't really help, seeing as the next Pokemon out will also get in a free hit... Might wanna change Rock Tomb as well. It doesn't really do anything damage-wise, especially against Solrock and Lunatone and isn't the most accurate, if I remember correctly.
Wailord is good, but it needs 20 more levels. It'll take a long time.
A tip is to go around beating up trainers for cash (that sounded wrong ), then buy as many Revives and Hyper Potions as possible. Just kinda...stall, if things start looking bad.