ever since i first started messing with difficulty adjustments my core goal was to make an adjustment that coped well with high dynamic range - because the chain i was building a custom one for had a hard limiter and a disjoint dual block type (scrypt and sha256) and miners flipping to this chain to catch low difficulty periods led to it eventually dilating the average block time from 5 minutes to 12.5 minutes
i didn't know what PID controllers were until i had a shitcoin job in 2021, and the CTO was a trained physicist and explained how he was used to using them for various things, vibration free platforms, for example, controlled by pressurised air use these to back off in response to vibrations propagating up to the platform
after that yeah now i know what they are and how they apply to difficulty adjustment
in my work on the shitcoin with the miner bombing problem i made a lot of headway on target stability partly with a 9 way doubling series of block time targets - 9 different block types, each with double the time target of the one before it in the sequence
this alone made a big difference, but i think it's because it acts as an increase in sample rate like nyquist style, actual effective block time with the average of the 9 targets was somewhere around the second or third interval, and block time variance was under 100% (half and double) 99.9% of the time (1 in 1000)