A long term ASIC-resistant solution would be where the PoW algo itself is dynamic:
The algo, consistent of base code blocks, will be compiled using (previous) block parameters.
So the exact algo will not be known beforehand, thus ASIC-resistant.
Does it make sense?