This solution is not for everyone, but changing 3-4 most frequently used shortcuts to key-chord style can be a big relief.
For now I had only silly problems like with arrays in Haskell [1,2,3,4].
In that case I must delay my touch typing,
because my ",1" ",2" ",3"... handle window management,
but this is only for ints from 0 to 4. ;]
BTW In clojure I do not have this problem. Commas are treated as whitespace.
To handle this I can tweak key-chords delay,
or change comma to e.g. semicolon for 0 to 4,
or change ,1 to ,somefreeergonomicletter...
or maybe change comma only for haskell mode.
Regarding typing comma twice - if you type, after leader key (here comma), character that is not defined in your key-chord, you do not have any delay.
It is hard to describe, but If I type ",s" I save document,
if I type fast ",sd" (not defined key chord) then I save document and write "d",
but if I type ",e" (not defined key chord) then I simply type ",e" without any delays and the same is for ",," .
This is a list of shortcuts that I use currently:https://www.refheap.com/15927
You should customize key-chord-mode for your needs.
I do not advocate switching to it for everything.
In that case evil-mode is probably a better solution.
I just wanted to show that now I relatively rarely use C-c and C-x prefixes and my pinky is soooo happy ;]