AFAIK the ships damaging soldiers on them can't be fixed. It is the reason why there aren't any official naval maps.
Perhaps, it would be a solution to block the possibility of entering and exiting the vessels, if it's programmable. So the only way to board them is spawning on them. And the only way to exit is to get destroyed or suicide.
But the symbols of the ships should be shown on the minimap or else you don't know in which ship you are spawning.
Another suggestion:
Carriers could be static objects like in BF2, because there is not much sense for them in moving around the map. On Midway Map such static carriers could be the place for the two flags, currently in the middle of the ocean.
It would be an idea to make static carriers destroyable anyway...