It is wrong to blame the server here. For better results in content-negotiation, a user-agent should allow you to assign numeric weights instead of just a list (implying the same level of preference). Example:
Accept-Language: en;q=0.7,pt;q=0.3
If you already send something similar to this, and the server gets it wrong, then this is an outright bug, the software or its operator is out of compliance with HTTP.
This parameter, at first glance, appears to be used as numeric weights for automatic translations served by default, what turns browsing very uncomfortable (wrong translations, distorted texts).
Ie. Google, Youtube, Reddit.
Automatic translations should never be served by default, but only be loaded if the user requests it. The classical "do you want translate".
I don't need help, I'm criticising the use of the automatic translations served by default, and that are being used the weights of this parameter to do it.
The full picture? The weights seem to be more useful for fingerprinting and perhaps for server SEO than to help the users. Users who in the end will have to give the same weight to all the languages, or rewrite the outgoing headers, in order to be able to browse the Internet.