An interesting if somewhat profane report has claimed with some authority that damage control is indeed possible, but it would have required preparation for the catastrophe before it happened. No such preparation was done because preparing for disaster was left as BP's responsibility but they had little incentive to do so. No one made them prepare, it would have cost some money and their only emphasis to make money.
So what is to be done? Without doubt we are not done drilling for oil. Our economy is too dependent on this fuel to get off of it quickly, but it is just foolish to risk future catastrophes of this sort.
What is needed is for government to step in at take responsibility for protecting the environment. In the case of oil spills, a new agency, the OSPA (Oil Spill Protection Agency) may be needed, though possibly this could be part of the Coast Guard. The new agency could be generously funded through a new tax on oil extraction and the agency would have overall responsibility for protecting the environment from oil spills. It would have no responsibility at all for encouraging drilling or oil extraction.
OSPA would oversee drilling to make sure it is done safely and properly, but OSPA would itself be charged with having proper equipment readily available to protect the oceans and marshes from oil spills. Cleanup would be OSPA's responsibility, not the oil company; of course fines would be imposed on the responsible oil company to pay OSPA's costs for the cleanup activity.