There is a plan to add DDC to the Linux kernel, so that any desktop can manage external monitors using the same APIs they use to manage internal laptop panels. Hopefully that would mitigate the problems you mention.
https://lore.kernel.org/all/7f2d88de-60c5-e2ff-9b22-acba35cf...