Something more complex such as EDA (Emergency difficulty adjustment) which used by BCH would be better option.
EDA or their improved DAA are not well implemented and there are many drawbacks to those. It was demostrated that the implementation that BCH used wasn’t good enough for production and it’s only there because the hashrate is low enough to be influenced by swing miners.
My understanding is that these difficulty adjustments with a moving window or a different algorithm like Kimoto Gravity Well has too many drawbacks and should only be considered if the hashrates swings rapidly frequently.
Yeah, i'm aware it has few major flaws (there are even few research about it) and hence why EDA was replaced with modified DAA instead. Although on other hand, is there any less worse algorithm which already tested on live network?