I think the question you are raising all comes back to range. When I was studying a striking style, there was very explicit instruction that punching was reserved for a certain distance. Farther away than where you could reach was far enough away not to attack.
When I first joined Aikido, I was amazed to see how far away people stood before attacking. It is no wonder people sometimes seem like they're throwing themselves, because they attack starting at such a long range that they have to be HUGELY off balance to connect at the end of their strike.
I don't know much about anything, but I would suggest that if you ever feel even slightly unbalanced at the end of a strike, you're doing it wrong. Try throwing a punch in the air, then stop at the end of it. Then sink into your stance. If your fist has to move back because of it, your hips and torso are probably over-rotated (common Aikido problem from what I have seen...) and slightly off balance.
I used to hear that at the end of a strike you should have about 70% of your weight on the front foot. This allows you to put sufficient power into the strike without making yourself ridiculously easy to push over.
Once you are down in your stance, look at how far you have moved. Then make sure that you don't attack starting farther away than it would take to move your front fist a few inches into nage.
While most untrained people probably attack in a totally un-grounded and non-planted way (strike type 1), it is always good to train for the worst, so that everything else is way too easy.
Sorry for the ramble, but I hope it helps someone become a better uke.