Well, i guess the car that has the 'point of impact' the furthest to it's front should be penalized.
That should settle the corners and 'braking to corner' parts. It would however encourage 'brake testing' the guy slipstreaming you on straights, getting her/him a penalty.
I think that can be easily covered by adding 'sections' for the straights where the above rule does not apply, and not untill the brake zone for corners and the corners themselves are reached will the 'impact furthest to the front' rule come into play.
That also wouldn't fix "free smashing" in the straights, or in example, when you're reaching the finish trying to overtake another car, and he starts ramming you into the wall, and probably not the oval sections of daytona.
The definition of the sections would probably be a hell to define: Those sections should probably be different for every car (not all cars brake in the same points), each configuration and each circuit, which makes it quite a lot of work, and that wouldn't even take care of different driving styles braking and accelerating at different points (if you're an early braker, you might be screwed. If not, you just can brake test your opponent just beyond the permission line)
Ofcourse this will not settle the scenario where two cars are in the same corner and one car trying to corner too fast, gaining lead but sliding into the other car causing a collission where the other car is 'touching' more to it's front.
That might be covered by adding a 'slipping tyre' factor or something.
Now you're reaching the point I wanted

Just because one or two rules don't work, you start putting exceptions to the rules, which is what any software engineer would do (because there are no easy rules to solve the problem).
In example, it's a good idea about the slipping tyre, but you know that if you're doing a turn well, the 'slipping tyre' factor will be greater than the opponent going too fast and ramming you, as long as he doesn't turn his wheels.
So you'd need another exception for that (probably looking at the angle you're taking the turn at), which would probably 'collide' with a previous exception or rule and those exceptions will soon start being a mess of code with exceptions and counter-exceptions.
Another point is that "getting the impact point" or "getting the slipping tyre factor" or "getting the max speed for a turn" is not always as easy as it seems, and may harm i.e. really good racers which go "over the limit", "extreme car setups". Getting exact information (meaning by exact what we humans understand) is not that easy.
I'm not saying that current rules are good and that they can't be improved (I'm sure they can and they will), I'm saying that it's harder than most people thing.