Most religions do share a basic set of core morals, which are consistent with a free society. I see religion as another code of morals to which one may adhere. I do not have a religion, per se, but I do follow a set of morals, which if I stick to, will keep me from violating the rights of others. So continuing with my explanation, a good way to stop abortion is to prevent it through a learned set of morals. Essentially, the woman who commits abortion on her unborn baby would become a pariah, she would forever wear a scarlet letter on her reputation and character.
Pregnancy is a unique situation.
While it is true that the mother is an individual who should enjoy full control over all aspects of her body, if she is pregnant, she should necessarily forfeit certain proprietary rights over her body. On the flip side, there is one difference between a fetus and an infant. The fetus lives within another individual. This all comes back to the culture we live in. Many people, even if they know something to be wrong, cannot become outraged when they witness it.