In addition to accept-language and geolocation data, any logged in user will have view/edit history related to multiple editions. If the user is requesting a specific article, (e.g.,
https://www.wikipedia.org/wiki/普天間飛行場 ) we also can take account of what editions actually have the article --- the vast majority of content on Wikipedia only exists in one language or a few languages. (I.e., the above link redirects me to create the article on en-wiki although it exists on ja-wiki and Japanese is my second preferred language by my accept-language header and is an edition I edit captured in my edit history)
This isn't an either-or question of which to use, but rather a question of how all these indicators can be used together to create the best experience. I would venture that most users don't change their accept-language header (not even possible on some mobile browsers!) and hence probably list give only one language. If so, geography and edit history can be signals for possible second languages beyond the one language in the accept-language header when hitting the homepage without a specific article.
Cheers,
Scott
P.S. It looks like the Universal Language Selector already uses the accept-language header for its preference screen.