In the Coast Guard and Navy it doesn't matter if the Captain didn't know what was going on, its their job to know what was going on and they're always the ones held responsible one way or another.
This is because if you are in the military your subordinates are bound by UCMJ to follow all lawful orders. The officers are granted complete authority over the subordinates but bear the responsibility for all the actions of those under their command. There is no civilian equivalent for this kind of relationship between authority and responsibility(though law enforcement should be using the same model).
Holding both companies and management responsible can be tricky as well. IIRC Exxon-Mobil had an aggressive policy of destroying records from projects as soon as they were legally able to prevent them from being used against the company in litigation or investigations. In this case, having poorly structured laws or regulations encouraged the company solve the problem of liability, rather than one of accountability.