It would theoretically be possible for a filter (implemented as an Apache module for instance, or in a reverse proxy that content from the web server passes through) to:
- Scan output for calls to scripts or css files
- Get those files, and replace the or tags with their content
- Cache the result for a while so it can just output it next time with less effort
This would have performance problems of its own though, as the user would end up downloading the script file on every dynamic page request instead of it being able to be cached separately on their machine. This could be worked around by having the filter instead replace a calls for "script1.js", "script2.js" and "script3.js" with "combined_script1_script2_script3.js and then responding to that request with the combined script files (and the same process for styles).
Unfortunately I am not aware of any filter/proxy readily available that works this way, though you might want to scan the documentation for content shrinking proxies (those that recompress images, minify html/script/style, and so on) and to see if they can do something like this.