I was just reading about a violation of the Canadian fisheries act that has a maximum penalty of $200k, and realized the absurdity of there ever being a maximum fine.
There should be no maximum fine on any corporate penalty given that we do not cap the size of corporations or their bank accounts.
It would be like having maximum jail terms of 25 years for immortal beings that can live to 10,000.


But the size of the profit will also scale with the size of the company. A small company will have less to invest so the absolute money value they’ll take in profit will be less than a huge company. A larger company with more money behind it will have a higher monetary risk threshold too, so the fine needs to reflect that.
Doing the fine by the value of the company isn’t perfect, but it is much easier to calculate than trying to determine how much they expected to make.
You don’t need to know the profit - it’s the corporation’s job to estimate that before making a decision. You just need to know the cost of the harm done and the chance that a violator will be caught and fined.
To disencentvise the behaviour you’d need to make sure that the fine was several times the profit. So what happens when the fine is larger than the company can pay? Prison time for the biggest share / ownersholders? Fining those people and companies also?