An awful, inefficient and distasteful, but nevertheless effective way to keep your browser uncompromised is to run it on a very little used architecture. Most exploits out there are for x86 processors, and for ARM (for the current crop of smartphones and tablets). Buy a PowerPC-based system off eBay (some of the latest ppc Mac still have some non-negligible muscle), install a not-too-common OS on it (i.e. not MacOS X; use Linux, NetBSD...), and there you go: a Web-able machine which no attacker will bother to write exploits for. It is not even security by obscurity, it is one step below: security by attacker's laziness. And yet it works !
Of course, this will not help you against your arch-enemy who is after you, specifically, and knows the ins and outs of your computer architecture better than you (by definition). But it will keep the rate of casual compromise very low.
(Caution: browsing the Web with such an architecture can be frustrating at times. No PowerPC browser currently has a Javascript JIT compiler, so everything which is heavy on Javascript will be slow. There will be no Flash. Videos with decent resolution may also prove too much for old CPU.)
Apart from such drastic measures (which are not entirely a joke: I do that at home), there is no miracle. Web browsers are human endeavours, they are no more bug-free than any other software. Use the classical mitigation measures:
- Keep the browser up-to-date (the automatic update features of Chrome and Firefox are good for that).
- Keep out of the less reputable parts of the Web.
- Use your brain: the fingers click, but the mind should be in charge.
- Sandboxing the browser within a virtual machine can help as damage containment.
Ultimately, Web browsers have morphed into full-fledged operating systems running code which comes from the outside (Javascript code, mostly), so it seems that Web browser security is an inherently doomed project. But we can try...