From technically point of view it is not difficult to add new parameter which will decide on other rule but the problem is to define such rule.
I can imagine the confusions where you are from Switzerland and your browser language is set to English and then the currency will be set for you to GBP (so maybe yes, browser language is not the good rule to change currency)
And not sure if this will be better for user IP (for this maybe some robust and complicated library needs to be uses and the outcome will be never 100%)

Jan