Greatest idea IMHO from Colemak keyboard layout is replacing capslock with backspace key.
Here's how to do it in linux:
setxkbmap -option caps:backspace
But if you really need capslock, you can set pressing both shift key:
setxkbmap -option shift:both_capslock
These can be set on the ~/.xprofile file. For more xkeyboard tips, see this blog post.
On Mac OSX you can use Karabiner, for Windows, you look at this blog post.
Btw, have you heard about cheapest mechanical keyboard Nimxo K005?
programming: the action or process of writing computer programs. | rants: speak or shout at length in a wild, [im]passioned way.