Clever solution! It kind of reminds me of when I sometimes run sound through customized EQ and compression to compensate for crappy speakers. My approach is not quite as scientific as this though, just "tweak until it sounds good."

I didn't know there was a version of MPC with a live shader editor, that is also very cool. This is actually a pretty good use case for such a feature.

I use AutoEQ (https://github.com/jaakkopasanen/AutoEq) for my headphones. It works by "parsing frequency response measurements and producing equalization settings which correct the headphone to a neutral sound". They also have a huge database of already measured and equalized data, which is what I use.