I guess the system should be more transparent to the users and their applications. Here its not convenient to generate .o files or caches in /scratch/$USER/ .
I have a much simpler idea that both implements the EQFS and doesn't touch the kernel.
Each user is given a quota which applies to their home directory. (This quota is not elastic and if everyone met their quota, everything would fit.) In addition, there is another directory or file system (could be on the same disk or even the same partition) to which their quota doesn't apply AT ALL. Let's call this "scratch" space.