The OS can control the data the app has access to for fingerprinting, with enough restrictions apps like Facebook would still have to rely on guesswork to do so
The OS can only stop fingerprinting of the hardware while the app is generating a fingerprint of the user. The latter is more valuable anyways since most users use more than 1 device and change those devices over time.
You can't solve a behavior problem with OS controls. It's not about what bits on the device are readable it's about what happens with the identity information shared with 3rd parties.