In your case, you mention that you don't need absolute heading, and therefore : you don't need the magnetometer at all. Please use the IMU working mode. That solves the magnetometer calibration issue. Gyroscope calibration only requires the device to be static, and takes less than a second, I would recommend to leave the BNO055 do it's thing. Accelerometer calibration is what causes pitch&roll offset and this would be the only parameter that you may want to save and reload. Most applications do not need to wait for accelerometer calibration, what is your target accuracy?
... View more