It's too bad that bitcoin allowed dedicated silicon (FPGA/ASIC) to participate. If they had adapted to prevent it there still would be large farms of CPU/GPU miners. But it would be a more level playing field and there would be more use of having that much computational power in play that could also be solving real problems and not just generating a lot of heat and having an overabundance of SHA256 brute force engines lying around.
But in reality it is almost impossible to create a proof-of-work mining algorythm that will forever remain ASIC-resistant so that point is moot
I'm pretty sure someone will come up with a good solution. Ethereum has a couple approaches that have merit and one will go in to practice soon.