so odd shift behavior is an interesting concept. while it would be possible to have odd stuff like shift+h return "6" instead of the expected "H" most people simply want to do things like move semicolon around, or play with the behaviour of the tilde key.
What I propose, however, is instead set up a key as a function key, so map shift to function, and make fn+h return "H". That way it behaves like a normal shift key in all cases.
Then change the offshifted things you want changed.
Now, clearly this has some issues: for example, you might have to set up a macro for every key on the shifted function layer (so that fn+h returns shift+h to produce H).
To get around that problem, it would be possible to just edit the firmware with a special shifted function key, to act as a normal shift in conjunction with most keys, and to do something different (as noted) for the few keys that need it. This would effectively change shift behaviour for (what I think to be) most cases.
Another option, and likely a better one if you are just changing a few keys around is to make the oddly-affected key the function key. Unfortunately this would mean that pressing esc (now fn) and nothing else would have to return an actual esc. The only way I can think of of doing this is to have the return stroke send esc: like what TMK firmware does with home row modifiers.
Finally, one could add this functionality as a separate (new) key (call it "swill's escape" I guess). this will implement the functionality you desire, but sadly is not really sustainable, as every new oddly shifted key would need a new entry in the keytable.
Just some thoughts about keybaords and using them.