Split keyboard, a key map printed out and placed under the monitor (so you Don't Look Down), and moving to colemak (without changing keycaps, that is the important bit - if you want to stick with Qwerty, just use blank caps). Plus a lot of practice with programs like GNU Typist, keybr, typeracer, ratatype, speedcoder, keyzen-colemak, typelit.io ...
This said, some things will remain hard probably forever, if you have a short pinkie like me.
Thanks. I do use a split keyboard now and it helps a bit, but I'm still pretty limited with one hand and on both hands tends to stretch my fingers to uncomfortable positions rather than use all my fingers.
I used the same technique of having the keyboard layout away from the keys and moving to a different key layout. I'm currently using monkey type to train myself.
This said, some things will remain hard probably forever, if you have a short pinkie like me.