They should be ticketed and stopped from operating after certain threshold. And tickets should have some reasonable multiplier as they are much more capable paying say at absolute minimum 1000x. Only high enough tickets are efficient against corporations. As their shareholders sadly can not get those tickets.
Let's go down that route. So a corporation pays 1000x of a normal ticket penalty, let's say it operates a humble fleet of 1000 cars.
Do we really want to require this service to be a million times better? This would surely kill more people than the alternative.
I think ticketing is just broken in this context. People don't want tickets, so they take care not to break rules. The same person may do such thing, if they are in a hurry, if they are tired, yadaa yadaa, their economics and, possibly their freedom, are at risk.
None of this applies to a corporation. An AV running a red light is not, ever, "I was tired and nobody is driving at this hour officer", it's systematic. Behavior can be recorded 1 to 1 and optimized, why would we want to depend on specific scenarios in which police seems something happening?