Browser Fingerprinting: How to Stay Private
restoreprivacy.com
restoreprivacy.com
The other approach is to try to provide as little information as possible with much of that information being inconsistent so that your fingerprint is always unique across sessions/requests. This seems a lot easier. Simply disabling javascript by default does most of the work for you. You'll still have anything sent over in HTTP headers to worry about (and that can be randomized), but hardened firefox with JS disabled should make most of the data used to fingerprint your browser inaccessible.
They evade ad-blocking easily by using custom domains or by distributing the script using popular sites like Github, NPM, etc; This makes extensions like NoScript necessary.