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.