The only preview I would consider blocking is in the preview panel of your CMS (e.g. wordpress preview). When you preview your page you ask adsense to load ads relevant to the url and Google never forgets a url even if is a preview=true url.
While I'm sure they deal with the issue because it's widespread I don't particularly want to be showing ads to myself or sharing preview urls with Google.
Google Analytics Google Web Preview: Ignores BingPreview: Counts Chrome Prerender: Ignores
Google Adsense Google Web Preview: Ignores BingPreview: ? (Possibly counts) Chrome Prerender: Counts
Other Realtime Analytics Service Google Web Preview: Counts BingPreview: ? Chrome Prerender: Counts
Note that if you're using rel=prerender or if your website is the first result in Google SERPS but the user doesn't click it, Chrome still prerenders the page, including the ads, and Adsense counts impressions. Chrome no longer sends any specific headers, so there is no way of blocking prerendering. You can only use Page Visibility API to detect a prerender.
So, I've started using the API, now analytics & ad codes (DFP) are fired only after the page is 'visible' to the visitor.