I’ve sometimes managed to use some hover I gain for auto-trim. But helicopters can carry a variety of payloads, including tethered loads, and it doesn’t always work. With a normal (non-ArduPilot) heli the common thing to do is add elevator or aileron trim on the radio to compensate for issues with CG being shifted. And that works with ArduPilot until you switch to Loiter and the helicopter then takes off on a nice cruise all by itself.
So I’ve gone to using two methods to compensate for CG problems with various payloads. If I’m going to be flying it manually I use radio trim to trim it. If I’m going be using Loiter at all I just compensate it for it in manual flying by fighting it with the stick until I switch to Loiter or Auto and then it takes care of itself.