The uppercut technique we are taught is for very close combat. We are taught to drop our stance and roll our shoulder as we step in and up and get the majority of our power from our legs. I know you have your criticisms over ducking/bobbing as you expose your spine but how long do you keep yourself down to allow that to happen? If your opponent throws a cross punch we drop, step in and roll our shoulder, rise up and hit an uppercut. Even with my sensei attacking and me performing the uppercut he didn't have the speed to hit me in the way you described. Dropping your arm too far with an uppercut exposes the side of your head to a hook punch... I learnt this the hard way, thankfully my sensei was only wearing mits.