On the user end, this can be controlled to a fine degree with the RefControl extension
As far as sites which require a referrer header, it has been my experience that these are very few and far between. I get one occasionally and if the content is worthy, I'll briefly disable then re-enable my setting.
Not for everyone, I know, but it works well for me.
Some websites require the referrer to work; RefControl allows you whitelist exceptions, and also configure a few different options.
https://addons.mozilla.org/firefox/addon/headercontrolrevive...