Yeah, I hate the way they were conducted but can't think of a better way that wouldn't open the company up to a lot of risk.
I'm not convinced that announcing them in advance is actually better anyways. We have partner teams in Europe who get to spend a month or more after the announcement worrying about whether or not they still have a job. Morale on the teams in the US took a noticeable hit, but the teams in EU have seemed utterly miserable for the last week.