It may be inappropriate to condemn overweight women. It may not be inappropriate to condemn women who drink while pregnant. You are only concerned here with why people do bad things. You might want to also consider why people do good things. No, not at all.
General deterrence has little, if any impact on people's behavior.
No, people remain noncriminal because they are strongly attached to values that help them weather the desperate structural conditions so many people face in our society. Even within drug subcultures there are systems of morality and feelings of shame appropriate to that life-style. So while capitalism causes the misery of millions, the vast majority of the millions do not turn around and victimize those around them. I cannot for the life of me see how you can hold those two positions at the same time within the same ideology. But note you are not opposed to shaming in principle.