Usually I want to open Gmail in Chrome and URLs pointing to my development server in Firefox. For everything else I use Safari.
There is this nifty free app called LinCastor that enables you to register your own handler for an URL. Although it had beed designed to register your own non-standard URL schemes, it can intercept standard http and https as well.
In LinCastor (which you need to double-click twice to fully open for editing):
on handle_url(args) if (|URL| of args starts with "https://mail.google.") then tell application "Google Chrome" open location |URL| of args end tell else if (|URL| of args starts with "http://") then tell application "Firefox" open location |URL| of args end tell else tell application "Safari" open location |URL| of args end tell end return 1 end
Mac OS X Hints
http://hints.macworld.com/article.php?story=20131022070219858