There should have been many more safeguards put in place.
Counting on 1 or 2 safeguards is foolhardy.
The fact that BP didn't cap the well right after the event should be handled just like the FTC handles major ISP's issues. For every hour that an ISP, that provides a major backbone network, with a Service Level Agreement goes past a set repair deadline, the ISP gets fined $10,000/hour.
The same should be done for environmental disasters like this. For ever hour that they try to "recover" from a disaster instead of just capping the well and closing it off, they should get fined $1,000,000/hr. Give them a grace period/deadline... maybe 3 days or so. But, if they can't manage the recovery effort, they should get fined $1,000,000 for every hour past the deadline.
That'll give them an incentive to do what is right.
The fact that they didn't have backup measures in place for this is absolutely ludicrous.