I'm fortunate to have access to Nopheads python software. This has the advantage that the extruder temp, heated bed temp, extruder nozzle size and offset from hot end to bed are all accounted for in software. The main advantage in this system is the Z probe. This samples the print bed and calculates a plane against which the gcode is offset to produce a print which is at 90 degrees to the bed.
As I use multiple extruders, but I am a crap machinist, I need to make sure that the length of the hot ends I make is consistent. Due to beer and inexperience this is seldom the case. But I found a great way to compensate for my cock-ups. Just shift the hot end down until it's end is below that of the Z-probe.
Here you can see the the peek barrel where I have lowered it: