Shame and blame is not an effective way to change teenage behavior. Shame and blame just leads to further consequences in the future. The best way to change a teenage behavior is by having someone that can talk to them and be able to reason with them. They want to be adults so lets start treating them as such.
I definitely do not think that shame and blame is an effective way to change teenage behavior. I think it has the opposite affect. Teenagers need to be guided and understood. They need to learn to accept responsibility for the things that they do but they also need guidance. They are young and make mistakes. We were all teenager at one time.
Shaming anyone and especially a teenager never really works. What usually happens instead is that the teenager is just left with a negative view about themselves and what they are doing it and do it anyway. When it comes to shaming kids for having sex, or shaming them for being overweight, it rarely if ever gets them to stop doing the behavior.
No, I do not believe that shame and blame is effective for teenage or smaller children. If you are constantly making a child feel ashamed, they will most likely not come to you with their problems or concerns. Furthermore, the actions that caused them shame may just be hidden so that you can not see them, but they are still there and may become a serious issue later.
Shaming a human being is only going to significantly degrade their self-confidence and make them doubt themselves. If there are consequences to actions, teenagers are perfectly capable of learning it on their own. They don't need to be told an action (especially sexual) is wrong and be forced to live with guilt and shame for the rest of their lives.