Considering that mining progressed from CPU, to GPU, to FPGA, and now ASIC mining... have we finally hit the end of the road for technological advancement?
What future optimizations can occur after ASICs are widespread?
Well, the ASICs machines would probably be more and more refined over the years (like processors), they can get bigger and so forth. So that will probably be the progress for a long while.
Asides that, we have the quantum computers that might be the next big leap forward for all fields of computer science, but for now they can only do really small calculations (3x5=15... on 5 atoms, or something like that). However, there is no telling if and when quantum computers might become viable enough to do anything Bitcoin-related with them, or even whether they might be used to destroy Bitcoin's algorithms altogether.
Regarding quantum computers:
If a scalable quantum computer were built, the Bitcoin protocol would become insecure. Bitcoin addresses are derived from the public key in an elliptic curve cryptography system. The whole system depends on the owner keeping his/her secret key indeed secret. Quantum computers could solve efficiently not only the factoring problem but also the discrete logarithm problem:
The security Bitcoin derives from elliptic curve cryptography rests on the assumption that discrete logarithm is hard.
The first batch of ASICs will probably be based on "structured ASIC" technology, which is where wiring is laid on top of a pre-defined matrix of transistors. Because the wiring layers are the only layers that need to be defined, structured ASICs are much easier to design than the next most complex form of ASICs, in which the placement of transistors is also customized.
Structured ASICs are very efficient compared with FPGAs; however, if the layout and selection of the transistors is also fully customized, you can get another order of magnitude improvement. My guess is that if Bitcoin continues to succeed for another year, one of the existing ASIC vendors will raise money ($5-10M) to design a standard cell ASIC.
If you think about what your iPhone's graphics processor can do for hour after hour -- all powered by a small battery -- you can get a sense of what a full custom ASIC is capable of in terms of power efficiency.
Probably a step before quantum computers could be ASICs designed using either balanced ternary or imaginary quaternary as their computing bases. Both these bases have slight advantages over binary, as was exposed by Knuth. The Soviets even created a ternary computer, too bad their effort wasn't followed up...