You are idealistic, not practical.
You're idealism is sweet but in the real world am I going to risk my meager assets trying to go against someone like BP? Especially difficult would be cases where it's not possible to assign liability directly to an individual entity such as the asthma or heart disease caused by the pollution from vehicles. Are you going to sue every driver? or all of the filling stations that enable them?
If the company officers and shareholders had a more direct link to the consequences of their failures (read criminal liability) they would probably be more responsible but corporations are set up to shield those people from personal liability. If corporations and business entities weren't allowed to externalize costs they'd be more responsible but that's pretty impossible to do. I'd rather have government act in my stead.