It would have been in their interest to have simply upped the "carrot" until someone volunteered. The way they did it was very wrong and a PR disaster. Its as simple as that.
Quite a few years ago, my husband was regularly flying across Canada, and always on Air Canada. One time, there was an overbooked flight. They asked for volunteers. They promised seat vouchers. No one volunteered. Including my husband!
They kept upping the prize for not boarding the plane. (Yes, it was done in the boarding area, before they got on the plane!) My husband had not volunteered, because he was traveling for work, and hadn't paid for the tickets anyway. Plus, he was not sure what his boss would say about not arriving on time.
But, the pot got bigger. I think there were 4 tickets necessary to be bumped. He is not sure if he volunteered in the end, but he did not get on that flight, and he got a big prize for doing it.
I don't like Air Canada in the least, but at least they handled it properly. Ask for volunteers and up the pot if no one volunteers at first. I wonder if Air Canada still does that?
Well, after this incident, I think airlines will be much more careful about when and how they bump people, whether it is for employees or overbooked.