I remap caps lock to ctrl and in Vim I use "jk" for esc in insert mode. Caps lock to ctrl is crazy useful outside of Vim since every other application has some basic support for Emacs bindings.
Another popular remap is a Karabiner option that enters Esc when Ctrl is tapped, and Ctrl when when used with another key. Rebind the Caps Lock key to Ctrl in System Preferences and you're in business.
I use `jk` because you wouldn't need to worry about whether you're in normal mode or insert mode. Hitting `kk` or `jj` twice in normal mode will change your line position. But with `jk` I can blindly press them. Just a suggestion :)