I have only just taken an interest in the canvas fingerprinting. My understanding is that it relies on a unique hash of an "image" created using HTML5, including the time it takes to draw. Is it not possible to alter this hash by throttling or slightly modifying some GPU settings? I know this is a weird and most likely highly technical question. I'm just curious.
Long answer, I'm also curious about this. I feel like the future of fingerprinting resistance isn't refusing to give up information (since sites can block you or force you to turn the settings back on) -- it's lying. Don't block microphone access, just feed it white noise. Don't block the location, just spoof it.
BUT, a bunch of people who are smarter than me have decided that zeroing out the canvas is better than making it return random values, so for the moment, I assume there's something they know that I don't.
The CanvasBlocker extension which has been around for longer than Firefox started implementing anti-fingerprinting measures does exactly this: spoof canvas readout values. Since blocking Javascript is no longer an option for most people, blocking fingerprintable APIs simply breaks many sites. What we need is frictionless ways to spoof values for these APIs unless the user trusts the site in which case real values can be sent (example the site needs to work and fake values will not be useful to the user).