That's basically the idea of ProgPOW, which is a proposed algorithm that Ethereum may switch to in an attempt to kick ASICs off the network.
https://github.com/ifdefelse/ProgPOW
The problem is that you still are only taking an infinitely small chunk of the space of all possible Turing algorithms. For example we are not considering any program that lasts longer than say 12 cache hits and 20 math operations (proposed numbers). That means you don't need as much hardware to implement an ASIC as you would a general-purpose processor.
Such algorithms can never possibly contemplate the full space of Turing programs unless you solve the halting problem (because we can't trust participants to give us a fairly chosen algorithm, and presumably we don't want to select a hashing stage that never terminates). This approach will always consider a tiny, fixed area of the problem space and will thus always be amenable to acceleration from specialized hardware.
Remember that old chestnut, "anybody can come up with a crypto algorithm that they themselves cannot break"? You can add a corollary to that: "anyone can come up with a hashing algorithm that they themselves cannot design an ASIC for".
We've been through this over and over again. I remember when Ethereum was supposed to be impossible to accelerate with ASICs. I remember when Monero and ZCash were supposed to be impossible to accelerate. But when you put hundreds of millions of dollars of free money on the line, very smart people get creative.
The idea of ASIC resistance can be summarized as making specialized hardware no more efficient than general hardware. And that's simply an impossible task. Specialized hardware will always be at least somewhat more efficient than general hardware. Maybe not hugely, but it doesn't need to be hugely more efficient, 5-10x more efficient is more than enough to shift control over to ASIC insiders.
On top of that, ASICs pose massive advantages for deployment even apart from efficiency advantages. One box that you plug a power cable and ethernet cable into replaces two mining rigs with finicky, delicate riser cables and a dozen GPUs precariously strung from wire shelves. ASICs don't crash anywhere near as much either. Literally just having the same efficiency but being 10x as easy to deploy is still a massive win.
You can still rotate algorithms every 6 months, but the clock starts ticking when you propose an algorithm. It took four months from the last switchover before Monero had ASICs on the network again. Presumably they were designing as soon as the algorithm was proposed, and taping out as soon as the switchover was announced.
ASICs are inevitable, and it may be better to simply accept democratic control of ASICs rather than insiders with control of them. If you switch every couple months you disincentivize ASIC holders from releasing them to the public (and revealing their existence), instead they will hold them private so they don't trigger an algorithm change. Which is exactly the centralization that you're supposedly trying to avoid.