Not sure what you mean... Vastly larger amounts of L1 and L2 cache will never happen because the speed at which the cache operates decreases with the size of the cache. The point of multiple cache sizes is to offer slower cache with better hit rates when larger amounts of memory are required, without having to offload onto the comparatively really slow RAM. Hence, you will never see 256MB L1 caches because the processor would become absurdly slow.
You should read this first:
http://en.wikipedia.org/wiki/CPU_cacheI think it's more reasonable to assume that L1 caches will remain similarly sized but become faster in the future with lower hit rates. So, the algorithm is fine as it is. If you increase the amount of memory required, you end up with a GPU-favoured implementation of scrypt.