Market cap has several issues. Most companies are private. The market cap is likely to tank before any major fine. Company size is a proxy for how much stuff their doing so a minor fine for an individual restaurant is wildly overkill applied all of McDonalds revenue.
Finally, it promotes using lots of subsidiaries to firewall risks from fines which adds a lot of pointless overhead to the economy.
I'm not saying it's perfect, I'm saying it's the best we have. What alternative are you suggesting? The problem of private companies applies to every metric you can think of, as none of those metrics are private!
Finally, it promotes using lots of subsidiaries to firewall risks from fines which adds a lot of pointless overhead to the economy.