For compass calibration you don’t need to put the drone down flat on a surface upside down, you can hold it in the hand and turn it around all the axis dynamically while holding it.
If it’s big you might need a second person to help, but that is how I do it on my 10+kg / 1.7m builds.
Removing compasses does not work for me because a) there are metal parts (e.g. Screws) close to where the compasses later will be so I need to calibrate with everything in place and b) external compass is mounted separately from FC so I cannot easily detach them together in “on package” for separate calibration.
One can always use chairs to put the motors on when suspending the drone upside-down. Or some tall pint glasses if your GPS mast ain’t that long.
The accels are so sensitive that I’ve never attempted a calibration while touching the drone.
If you want to calibrate the FC alone, use double-side tape to attach it either inside a box (a shoe box does well for me) or to a big heavy metal piece so you can have it hanging outside the edge of the desk so the cable won’t bother you.
I have never had any issues with a bad accelerometer calibration bc I held the quad for the upside down segment of the Accel. calibration, I have a gps mast as well. I don’t think you would have any issues doing it off the quad and honestly might be the preferred way?
My understanding is that the accelerometer calibration is just to give the FC an idea of the quads body frame. So it doesn’t need to be exactly exactly 90 degrees with the level plane. Can anyone confirm or deny that?
Edit: as for compass calibration, I usually make sure I am outside away from anything metallic. And usually it takes a couple of times to get it good, I have done up to 10 calibrations in a row to get all green. I haven’t tried this method yet, but I guess it you hold it level do a rotate the quad 360deg . Rotate your quad to its left side and do another 360. Not randomly around all axis.
If you are installing telemetry radio, use that to connect to your PC instead of the USB cable when you do the accelerometer calibration. No tangled cables
For compass calibration, I use this method which seems to work fine for me: