The problem with setting fines as a percentage of revenue is that it is far more punishing on some types of businesses than others, and it doesn't treat all types of businesses equally. For example, let's say you have a widget manufacturer and a fintech company, both found guilty of some anti-competitive violation and fined 20% of their annual revenue each.
The widget manufacturer might have billions in revenue but its material costs, operational expenses, and labour costs are much higher because manufacturing widgets is a very physical process. These costs can't be cut to save money once the fine is paid, because the fewer workers you hire and the fewer raw materials you buy, the fewer widgets you make and the effect on revenue is much more direct.
In contrast, a fintech firm which has a similar level of revenue has far lower costs, meaning more of their revenue is either (1) profit, or (2) spent on non-production expenses like marketing or lobbying, both of which can be easily scaled back without immediate impact on revenue.
The consequence of this is that a 20% fine of revenue is devastating to the widget manufacturer, but it is just an inconvenience to the fintech company.