On further play, really the only match up where I had any trouble was large vs large. (As a side request, it would be nice to be able to choose your opponent!)
With both small and medium, you can just strafe back and forth in front of your opponent if you're faster than them. With medium and large, you can just circle them and absorb more punishment than them when you're larger than them.
Multi-player would solve the AI problem -- especially if it was more than 1v1 -- and then it would be more challenging.
But I would still request realistic wind and sailing dynamics. That strafing maneuver isn't really possible with real wind dynamics, because you slow down as you swing around and that allows the opponent to catch up to you and return fire. You could have a little arrow in a corner of the screen that shows the wind direction. You don't even have to make the sails movable, you could just have your speed be proportional to how orthongal your sails are to the wind direction in the simplest implementation.
It would add a whole new element to it that would make it much more challenging! :)
Highlighting that game mechanics are hard - I struggled with your strategy but found it too easy to be the tank. Turn in a circle and shoot and rely on the higher HP + cannon loading.
I just went into a circle and shot, won every time for every boat
The cannonballs should have randomized elevation as well so that "raking" the bow and stern is more likely to get hits than hitting the side. Hits on the bow and stern should also do more damage. Cross the T!
That's interesting, because I found it trivial to win with the largest boat. Tank one hit, lead your target, blast away. I remain undefeated with the largest boat.
By contrast I found winning with the medium boat required the most skill, and lost the first few times I tried.