I have the same problem:
I do not want cache server negotiation or whatever, because the Javascript included in the application is capable of doing much much more than any common-used cache validation system based on ETags or Date validations. It uses GPS, AI over photos, and more...
I have no solution, perhaps the answer is just, at the moment,
there is no solution with HTTP header or cache negotiation, the only working solution is: a Service Worker hosted by a cloud provider.