The escape key can be right there on the capslock (option to be enabled in System Preferences -> Keyboard). Using Esc key heavily with its default location is not practical at all. As for the F-keys I think this is more of a problem.
IIRC Support for Caps Lock -> ESC mapping in System Preferences is new as of 10.12 (or maybe 10.12.1?), so many people may not know that's an option. I didn't until I read your post and checked!
How do you achieve this with just System Preferences? On 10.11.6, I see the System Preferences -> Keyboard -> Modifier Keys allows re-mapping to Nothing, Control, Option, and Command, but not Escape. Is this a macOS Sierra thing? Tell me your secrets!
Check out Karabiner and Seil- you can even use these to map "tap capslock" to esc and "hold down capslock" to ctrl. (Seil has some issues in 10.12, but they're working on it.)
They have made karabiner-elements to do just some basic things and which works with sierra. I had a problem with it though as it remaps F-keys by default and it was clashing with Palua on 10.12