I used to have a lot of trouble with this fight and now have a process that drops it usually within two or 3 cannon freezes.
Use cannon until portal is opened that spawns adds on your ship, should almost kill the axe throwers in front row in this time frame.
Leave cannon and kill adds on your ship, your cannon should now be frozen with battle mage out on enemy ship.
Rocket over to enemy ship, landing on the two front adds you were going after with cannon, this should one shot them.
Kill Mage, take out both back Rifelmen then dot/cleave the other two front adds on your way back to your ship.
This pretty much leaves no enemy adds to attack your ship. You will get back to your boat, jump in the cannon and boss will almost immediately emote for a new mage.