Probably the only realistic solution. You can't force companies to behave ethically.
It isn't all about regulation. Sufficient competition is also important.
The damage done to BP from this well blowout is enough to wreck the company, as it probably should. Lawsuits, speculators shorting the stock into oblivion, and angry consumers boycotting BP will give them what they deserve. Good free market activities.
The only problem is that in today's age, the governments and corporations are in bed with each other, and having threesomes with financial terrorists like Goldman Sachs. So what we have is basically corporations regulating themselves as all the execs obtain jobs in government.
So in fact, more regulation isn't necessarily a good thing. As in the case with the bank bailout, Goldman Sachs received taxpayer money to replace the capital of bad bets, all the while putting its competitors out of the business. The only reason it happened is because former Goldman execs had positions in the Treasury. That's all.
The folks who scream for more regulation don't understand the current nature of Washington and Wall Street.