Re: Language negotiation
I agree as well generally.
However, we need to look at this from the viewpoint of a general customer, not as computer savvy guys or software developers/technicians who don't want to be "nannied" into a certain behaviour since we immediately know what to look for and find it (if it's there at all).
Additionally, lots of customers use mobile devices and don't read (or comprehend, I dare to say), what their tiny screen with a great resolution tells them.
If they hit a page in language X where there is a matching flag with no proper sign that it can be tapped opening a choice for language Y/Y/Z, and it's not the language they understand or want, they navigate away within seconds. They are lost customers.
The customer can be addressed automatically in the language, where he/she comes from (geolocation) and still have a language selector prominently on the page for their choice.
So, the second part of your answer pretty much hits the nail on the head.
The main thing is that the visitor is prominently made aware of having the choice. Otherwise, it's lost business more than often.