Using compass on a huge boat

What is the best settings for a huge boat? It is impossible to do a compass calibration. Ive tried to use a “Large Vehicle MagCal” option, but after 30 sec it starts to drifting back to an initial position (And i dont like this method because it is not always possible to know the accurate enough heading, even with mobile phone). I hoped that when moving relatively fast (5-10 knots), the EKF would resolve the conflict between GPS and compass in favor of GPS, but after a few minuts, the heading still aligned to the compass (even when i set the AHRS_YAW_P to 0.4). Thus no auto mode is possible. I decided to disable the compass completley. And it works, but it takes to long and requers to high speed to align the heading to GPS course. I mean, if you driving 5-ish knots it would never accomplish the aligment, you have to drive minimun 10 knots at straight line about 30-60 sec to heading would set to GPS course. The proplem is that the ardupilot do not takes into account the boat movement physics, and always use a compass as a higest piority heading sensor. Its would be reasonable to use the GPS as main heading source, and while moving, use a compass and GPS diffenece to set the compass calibration offsets, and only when GPS is not able to give a course (not fix or too slow speed) it will use the compass with offsets set before. That behavior is possible?

Use Magfit to calibrate the compass.
Or GPS for Yaw