I have a tool changing system on one of my machines.

In that, I reference and level without a tool loaded, then have Z offset for each tool in the tool configs.

Once set, they should never need changing, or at least until you replace a nozzle.

To calibrate them, I just set the Z at zero in the tool initially, pick it up and measure the height the nozzle touches the bed, then put that value in the tool Z offset; done.
Check it prints OK and adjust the offset fractionally if it's not perfect.

Accurately calibrating the X & Y offsets to be able to do multi-material prints is much harder - I've not done that so far, I'm still doing other tweaks on the machine.