As long as there are new algorithms there will be opportunities to mine with a GPU. It takes a very established and profitable algorithm to get ASICs built for it since it takes a significant investment. This could change but not in the foreseeable future. FPGAs can be applied to many algorithms I think but it requires a lot of skill to program.
There have been ASICs for Scrypt (Litecoin) and probably coming for Ethereum.