Ultimately, the problem is much bigger than /etc/machine-id since there are dozens of hardware IDs on any PC that can be used by malicious telemetry to silently to uniquely identify and track you, and the only solution to this problem currently is to make sure you really trust any software you use.
Systemd, in particular, acts a lot like malware for Linux because if you try to reset your machine-id a long list of stuff that breaks in in it. You could make a cron script to reset /etc/machine-id every day, but machine-id is so deep in the stack that you’d also have to reboot to ensure it’s updated.


Well I’m not here to argue about systemd in general, that’s a far larger topic. All I’ll say is that from my experience, systemd felt cleaner than the competitors at the time and created a lot of conventions and standards that are taken for granted today.
For example, to bring this back to the original topic, another commenter in this thread mentioned that systemd provides an API for generating randomized machine-ids that flatpak utilizes.
Though flatpak is gaining more dependency on systemd, and I don’t think that coupling is necessary, so I’ve been keeping an eye out in that space.
Edit: researching a bit more on the topic, there’s some interesting comments here about how systemd is not as monolithic as people think
My view is that systemd was a mistake and I disagree with it on a philosophical level. I see stuff like machine-id getting baked in as a direct extension of this philosophy.
Many software decisions are more about strategy than philosophy. Compromising on ideals and principles to gain adoption. As mentioned before, I would not be surprised if dependence on machine-id was simply strategy.
Systemd might be replaced in future. But currently it’s used in all major distros. It’s design and ideas will probably inspire whatever replaces it. If they had spent their time clinging to philosophy and ideals rather than making compromises, then they might have never left the ground.
I’m not sure what was supposed to be leaving ground in your mind to be honest, or whose strategy you’re talking about. Linux used to be a community driven effort rather than some company trying to gain growth. Why is gaining adoption so important all of a sudden when Linux has been around for ages without mass adoption, and it’s been doing just fine. Seems like part of the issue is actually commercialization because a lot of the decisions are driven by distros that are backed by companies who do want to make profit off the platform.