You could use Nikel's suggestion, this is the quick/easy way. You would just add an additional parameter in the url to automatically assign a language.
For another customer I created a module to review the user's browser language (based on the supported language flag in the browser). That customer expressed the same need as you are, but they wanted to allow any anonymous user to switch languages even without deeplinks.
The module allows you to place a snippet in your layout, this snippet contains a widget that checks the browser language and can either present the user with a message and let him choose to switch, or automatically redirects to the same language as the browser.
This is the module I was referring to.
Modifying the existing deeplink module's requestHandler should not be hard. You would ofcourse lose the possibility to do a simple upgrade for the module later on.
I would think the real challenge is having a good database with ip's addresses mapped to languages, but haven't ever looked into this.
By the way, isn't the best practice to use the accepted language header sent by the user's browser for this?