Sooo....I guess all of the people that have been killed with the 9MM can get up now because thay have been killed with an ineffective round.
No one ever said the 9mm was ineffective.
A 9MM in the chest is better than a .45 in the arm. SHOT PLACEMENT is what makes the difference, chose your ammo for the target you will be hitting, if it is waering very light clothes then use a round that will expand faster, if you are shooting targets in leather jackets then use a round that will penetrate further......Give up the notion of the one shot stop, even the .45 will need more than one round to stop an attacker that is hell bent on hurting you.
Agree on shot placement. As far as choosing ammo, what you suggest is trying to guess what your attacker is wearing. Bad idea. Carry, shoot and practice with what you are most comfortable with and stick with it. Don't expect a 5'3" female to be comfortable with a .45 if all she's used is 9mm. DON'T carry a different caliber if you are unfamiliar with the characteristics.
One shot stops rarely happen unless it's a well placed head shot. Two shots to the chest, bring your weapon to ready, assess the target. If you have failure to stop, head shot. Your job as the intended victim is to bring the fight to a conclusion in your favor in as little time and with as few shots fired as possible.
All that said I have both, I dont know how I decide on which to carry, but I like the 9 for concealed carry (both are full size M&P's). Also keep in mind that the only thing a pistol is good for is fighting you way to a rifle.
If you need a rifle, then your attacker poses no immediate close range threat.
Pistols are for CQB. Using a rifle at close range is irresponsible at best, a legal nightmare at worst. Show me a state where you can legally carry and shoot someone with a rifle. Home defense is a different story, but a 12ga would be a better weapon than a rifle.