I might try tuning with ZN method like this: Set I and D to zero and adjust P up till it oscillates. Cut P in half and adjust I up till it oscillates and reduce I a little. Leave D set to zero.
The ZN method is used by the hobby industry to make the expensive "cyclic servo". They cut the instantaneous output from CC3D for swash in half and reallocate it for I gain in the servo's digital board. I-integration needs time to close the error gap, and for common helicopter flying the half gap is closed very tightly by integration over time, but there is no time when the craft dives at terminal speed. Every millisecond spent on integrating the error is a millisecond the craft spend on swinging like my last video's first dive. That explains why I needed 194% P gain, almost exact doubling, in CC3D as the "dive mode" PID when I used the precision cyclic servos. We are in "nested" PID loops when it comes to the swash. See this video, starting at 1:30 for the nesting control,
The ZN method is absent in the, also expensive, "helicopter tail servo". I installed 3 tail servos on the cyclic swashplate today. And my "normal mode" worked for both diving and cruising. As this video,
The "tail servo" needs the exact same PIDs for the swashplate as the lowest cost, simplest F3P servos, EMAX 9051, that I started this project with.
I just now realized that when I dive vertically, my main rotor stands up straight, exactly the same as a tail rotor. Maybe that is why they mean to sell me tail servos for my main rotor.