You're not obliged to hand this data over when you don't use their services, and ideally, they wouldn't track you if you didn't want to be tracked, but facebook is pretty close to being ethically void, so they'll do whatever scummy thing they want, so you should by all means make it as difficult as possible for them to get data on you.
Unless you run an ad blocker and/or EFF Privacy Badger, that's exactly what you're doing. Your consent is not required. There are literally _dozens_ of companies that do this, Facebook and Google are just two of them. There were some initiatives in some states to apply a stiff tax to companies that trade in user data, but I don't know if they went anywhere. That's one tax I'd be in favor of, even though I'm not in favor of more taxes in general.
The point is that regardless of whether or not consent is required, it's a question of principle to not give consent (and personally I do use LibreJS and the other various tools to improve the shitty state of affairs).
Companies acting unethically shouldn't be given extra leeway to act even more unethically.
I suppose you have no cell phone and live in a place with no government then, because Facebook can't hold a candle to telcos and governments when it comes to disregarding your personal space.
Also, Facebook holds a significantly broader type of information than uncle Sam or T-Mobile. And Facebook also provides an avoidable vector for government surveillance. Analogy: no machine is totally secure, that doesn't mean we give up, turn off all security software and stop patching exploits.
Even if you block them 100% online, as soon as you use a credit card or loyalty card, you are letting them track you again.
In my country, and with my ISP we have dynamic IP's, so I don't have a 'home IP' as such. Browser user agent's are pretty easy to spoof/mock/etc. Browser fingerprinting is super hard to work around though - especially stuff like the canvas fingerprinting, because blocking it outright can also be used as a unique identifier when combined with other data.
Would it be possible to build some kind of public repository of canvas fingerprints, then whenever a site tries to build one, rather than outright blocking it, you return one of the public fingerprints from the repository. Get the repo big enough and used by enough people (especially if you could extend it out to other identifiers like fonts) and I imagine you would have a good chance of driving down one's uniqueness in a privacy conscious manner.
I'm not familiar with JS or the mechanics of how these fingerprints are generated, so I don't know if this is possible, but I imagine that if you can block them (Firefox 'Canvas Blocker' extension, you could intercept them?
https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-to...
Why, you may ask? Because mining data about the pages you visit after Facebook allows for targeted advertisement, at the very least.