For anything that's not high gain I play with a compressor always on up front, so I use the compressor output level parameter to compensate for how each guitar hits the rest of my gain staging. Set at roughly unity for humbuckers, higher for low output single coils, and a few different values in between for filtertrons, P90s, etc. People who don't use a compressor up front could of course use a volume block or any other "transparent" low-DSP block for this purpose.
To manage this I use Scene Controller 1 across 5 scenes to adjust various parameters for different guitars (compressor threshold & output level, amp bass & treble). This way when I'm working I can quickly pick a guitar, pick a scene that roughly matches that guitar's pickups, then switch to my two OFM9G-style per-preset layouts, getting the character of each type of pickup without having dramatically different gain staging or EQ out the amp.
This also means I don't need different presets for different guitars which would get unwieldy as I am constantly tweaking parameters on all the blocks in the preset which would require copying the blocks between all the separate guitar presets to keep them all in sync.
Also worth noting that for anything not high gain, I run everything straight into the front of the amps and cabs, which I set to edge of breakup. So the input gain on the amps is not an option for me for this purpose as it dramatically affects the drive of the amps which needs to be consistent in this type of setup.