I found the confirmation that it is the expected behaviour that all page caches expire when anything within the site is modified: locomotivecms/engine#905
For me this does not make much sense since the bigger more complex websites need caching the most and are also edited the most frequently.
An example: A travel website has many destinations and hundreds of travel packages. All pages list many different content types. Server response time without caching is 2-4 seconds. With caching it is 5-30ms. As soon as a single price is changed in one content entry, hundreds of page caches are lost and every single url needs to be visited again to rebuild the cache.
Since the website is edited a few times daily and most of the pages don't even get views every day the cache only kind-of works for the home page and the top level pages. Other pages are always "on the first load".
I understand that there must be impossible to know what resources a developer loads in a page liquid template so expiring all pages is the best bet. But in this form it also isn't very useful beyond caching simple sites that don't change very often.
Any ideas on how to make caching better?