How do we deal with the storage constraints imposed by modern browsers. The answer is simple, App Cache is used mainly to store program code, that is just the CSS and JS (and also the page that requests the AppCache), our application never got that large.
We did make some basic optimisations, our production version ran compressed JS code - our build process minified the JS using uglifyJS. We had the option to compress the CSS (but we chose not too for ease of development). But in all honesty, our application never got that large.
If we struggled for space we would have moved into only AppCaching the form-factor specific code and assets, but it wasn't required.