fwiw: I have -not- done this on my boat, but -do- do it for bathroom cabinet tops...
You might consider a base coat/first coat of straight epoxy ( NOT vinyl ester... ). Epoxy is highly water resistant, and most most paints will adhere to it nicely. ( Some minor prep may be required: sand lightly to smooth, and/or wipe with acteone to remove any "amine blush" ). While epoxy will go on thickly, do not "build it up", as a thick coat is more prone to cracks under pressure.
Another alternative is to paint using one of the higher grade marine paints, such as a two-part linear polyurethane. Expensive but effective. Follow the mfgr instructions closely, as virtually all failures are application related. This choice may also involve using the mfgr recommended primer...