The alternative is to not have (most of them) at all.
The reality is that 99.5% of users have perhaps 10 or 20 actual usecases/requrements. - You named a few of the most prominent ones.
These need to be supported (e.g. with flags) and documented properly.
Everything else is excess can be removed.
The problem with this is:
You need to find out what users want to do.
But many software projects are just too lazy and push all the effort downstream.
Actually: No.
Well, at least not in the ridiculous way that Chrome or Firefox do it.
Command line options or config files are both fine - when used in moderation.
The problem here (at least in part) is that it is extremely easy for devs to just add a configuration option. But it is much harder to think about whether a user would actually ever want to change the setting, if it had a good default value.
In fact, I think maybe about 20 command line options would cover 99.9% of all usecases for chrome. - And it would be so much more understandable. - Both for the actual developers and the users.
I absolutely despise it when a software product pushes effort downstream this way.
---
Note: I fully understand that in Chrome these flags at least partially leak out of their "trunk-driven development". - But this is no excuse: In no way should the development environment leak out into a released product this way! - And it would be exceptionally easy to stop this too: Just disable all development flags in the release build.
If anything bigger buisnesses have more ressources to avoid taxes. - Thus having everyone pay the same would lead to large companies paying more than they do now and small companies would be barely affected.
If it is a larger-profile German or European webpage, contacting c't / heise investigativ would probably be a good idea.
They are the largest German computer magazine, and have a great track record in getting companies to change bad practices and respecting consumer rights.
I also consider them trustworthy w.r.t. not inadvertently leaking the problem.