Cache-Control HTTP header. Configure your web server to send this in the response headers of your web page (HTML document):
No need to send it for all the assets (css, images, scripts, etc.) which’ll prevent them from getting cached normally. Remember the idea is to just avoid the browser bfcache because you don’t like some side-effect that it causes, not avoid caching in general.
Of course there are some other ways to make your page ineligible for bfcache by using
beforeunload events with empty event listeners, but each of them will work for selective browsers, not all together. Also this behaviour might change for them in the future.
The HTTP header solution should work cross-browser.