TFTC had a great article/podcast about the current state of mining centralization [1]. We've always had the nuclear option of changing the PoW algorithm to reset the mining industry.
Algorithms that support ASICs (like SHA256) are desirable for many reasons, but if we have to switch every 15 years or less then we need to get creative.
One idea could be to create a family of hash functions and rotate randomly between them each difficulty adjustment. The hash of the block at the next difficulty adjustment could determine which hash function will be used for the next difficulty epoch.
If we have a family of 10 hash functions, then the industry would have to produce 10 different ASICs. Big mining companies would have to support 10 different sets of hardware and only 1 is being used at a given time. It would disincentivize big mining operations and hopefully encourage more smaller and hobbyist miners.