Emma was a young kid when she gave Henry up. She was alone, probably scared. Like she said, she gave him up because she wanted to give him his best chance.
If Emma hadn’t showed up in Storybrooke and stayed, there wouldn’t be a show.
If Emma was so wrong just for getting involved, what does that make Regina?
Look at the circumstances surrounding the fact that Regina was even in a position to adopt Henry in the first place.
If it weren’t for all the evil things Regina did, there might not be a Henry. Or, if there was, Emma would’ve been in a better place (her ‘normal’ life in FTL) and been able to keep her baby.
Every evil thing Regina did led to Emma coming to Storybrooke and staying.
So, technically, it’s Regina’s own fault. She should’ve left well enough alone.
But, again, if Regina had left well enough alone, there wouldn’t be a show. 🙂