You’re bound to have a bit of contact when passing. By your logic the person making the pass is at a huge disadvantage. If they make light contact it’s their fault since they went off the racing line. If the person in front turns in but the passer stays on track and contact is made it’s the passer at fault since technically there was a car width. And your system allows for people to easily take advantage. If I’m side by side with someone else in a narrow track and we both make light contact, they can simply drive off track in order to give me a penalty. If I’m behind someone in a brake zone, they can brake early or excessively so that I bump into them and I get a penalty.
Others have already said that you can pass perfectly fine without contact, if not wait for a better opportunity. It's not your right to pass, qualify better if you don't want to be held up by slower cars. I don't qualify and know full well, it is on me to pass cleanly avoiding all contact.
So yes, you are at a disadvantage passing, that's the challenge. You're already dealing with dirty air, unwanted slipstream while braking, a car blocking your view. Making a clean pass is the challenge and what it's all about.
The situations you mention can be solved. If the car ahead tries to cut you off, that is not following the regular flow to corner exit, then they are deviating from the line. For every entry vector to a corner, there is an optimal line through the corner. An algorithm can easily determine that line, and yes a lot of those line intersect. The AI can avoid each other, so the logic is there to adjust the lines on the fly to 'untangle' them. If one of the two cars deviates a lot more than the other car from both 'solutions' then that car is in the wrong and deserves a penalty. If it's not clear cut, mutual SR Down.
Some absolutes can be added as well. When entering a corner without overlap, then the car ahead has a right to the apex. If that car is not deviating excessively from his line through the corner, and you stick a nose on the inside resulting in contact, then overtaker is always wrong. When entering the corner with overlap, both cars need to leave room, also easy to determine who is getting pushed off their line the most / who is forced on the kerbs.
You say it's easy to take advantage by driving off after contact. If there is room for the other car, that is, they didn't need to go off, mutual SR Down is enough. But if you're not leaving room, you get a penalty. Or if it's a forceful sideswipe causing the other car to go off / hit a wall, also penalty. An algorithm can easily determine force and direction of impact and compare that to the flow of traffic on that part of the course.
The problem with the penalty system always was, it only looks at the outcome. Contact + car loses position / goes off / hits wall, other car must be at fault. That will never work, the game needs to look at and compare to the flow off the track.
Early excessive braking is caught by looking at the driving lines through the corner. If you're going too slow for that part of the track without any obstacles in front, you're at fault, penalty. Otherwise mutual SR Down.
When you're behind, it's on you not to hit the person in front. I've adopted a slow in, fast out strategy since it gives me minimal risk to run into the car ahead and optimal chances to pass at corner exit. I also stagger my braking, slightly to the side of the car ahead to stay out of slipstream / dirty air and if they start braking too early I don't hit them. Plus a lot of people assume I'm going to dive bomb, panic, brake too late and mess up... Contact free pass... Always brake a little early though, plenty dive to the inside in the braking zone to block you just in case, some assume I'm there to catch them, I'm not and they crash into the inside wall lol. If they're defending the inside also be prepared they might veer to the outside in the braking zone.
Swerving in braking zones with no one in front should also be a penalty imo. 0.5 sec or SR Down. It's one of the big causes of incidents on the track, but first corner rights need to be implemented to stop dive bombs.
It's tricky with a car right on your tail, sometimes it's better to let the car behind pass, that is move off the line, brake a bit early and watch the car behind bump the car off you were behind. Plenty races I simply follow a dirty driver while they clear a path :/ Eventually he'll crash himself as well and race on. That's what GT Sport has turned into. 90% of my position gains are from other people's wrecks... While getting rammed or punted off at least once per short race.
I don't agree computers have it more difficult than stewards to come up with a solution. The computer has all the information, all the inputs, precise speed vectors, all conditions known. A steward only has disjointed camera angles to make a judgement call from. The only tricky part is the lag factor. Yet when in doubt, mutual SR Down. The more contact the lower your SR, that's how it should be.