Just preliminary thoughts towards solution:
=> Lets store the combined/minified version to DB, centrally accessible to all the servers.
=> Table will have four fields, asset_key, asset_type, asset_content, asset_dt
=> Store filename in asset_key (without extension, jst lastmodified + md5(filenames)), ‘js’ or ‘css’ in asset_type, combined and minified version to asset_content, and timestamp to asset_dt
=> In library we will check filename against asset_key in database instead of checking file on hard drive.
=> Modify _cache function to write into database instead of writing on disk
=> In that controller/function, I also can set proper caching header, after checking ETag and IF-Modified-Since