I don't know if it's possible with third party software (I use a hardware programmable keyboard running QMK), but I map it to tap for escape, hold for ctrl. If you use vim keybindings for your editor it's glorious.
Yes Karabiner is great for that. I do the same thing except I have it act as Hyper when pressed in conjunction with another key. That's how all my shortcuts are triggered.
I’ve been using Karabiner to remap: https://pqrs.org/osx/karabiner/index.html