Personally, I think the correct answer to holding corporations responsible is to force them to pay their fines by selling new stock until they've sold enough stock to raise the money for the fine.
That's no problem for large corporations but may be impractical for smaller ones.
also hurts activist investors
Such investors are only called "activist" because the current system is broken. If investors were required to be responsible for the corporations they own, they'd all either be broke or be "activist".
So, only the wealthy can be stock holders? They would be the only ones who could afford to take the risk of investing in corporations. Corporations were originally given corporate charters, and limited liability, so that the cost of a business could be spread over a number of people without the risk of losing everything.
The Dutch East India Company and the British East India Company were both given their corporate charters, the first ones granted, because their business was risky. They were both shipping companies and they were responsible for any lost cargo, whether it be because the ship sank in bad weather or because it was attacked and captured by pirates. Not only was the company liable for the cargo but it was also liable for the lives of the crew and passengers. An investor could lose not just the money invested but everything including their house. Because of this and because trade was important, limited liability was eventually granted to those who wanted to invest in cargo shipping.
Without some way for regular, low and medium income, people to be able to invest and not risk everything the economy would suck. Even today with the internet it's still hard to find out how a corporation operates or what it's practices are. There would be little trade, you wouldn't have that cellphone or many other things because the coltan needed to make them isn't found everywhere. There would be no shipping, heck the businesses that make them would not exist, it would be too risky.
Falcon