The answer really depends on how you see cars interacting with the rest of society. To what extent should we compromise the safety and rights of other people to try and enable fast and efficient car journeys? That is highly contentious even before you introduce self driving cars. These kind of guidelines don't answer that question.
Maybe then with a built in logging system that says every time control changes, and deletes the record when irrelevant (like three changes back). Then just take the data whenever there's a car crash, and hey Bob's your uncle.
So in most cases, the likes of Tesla or Uber or whoever pay the other party's insurance. If it can be proven that a certain programmer or team screwed up, then they're personally held liable and sent to prison if necessary.
That'd certain encourage decent standards here. Do your job poorly and have it tied to your actions, and you go down for 20 years.
But put developers in prison for 20 years because the car crashed, that's untenable. You wouldn't have decent standards, you just wouldn't have anything at all. What kind of developer would put themselves in that position? Everyone makes mistakes. All complicated software has bugs. You would only have software made by fools, and marketed by fools, that was much more dangerous.
If someone makes software that reduces accidents from 10% of drivers per year to 0.1%, they still cause 100,000 accidents a year in the USA, maybe a few thousand fatalities. Give them the electric chair right?
If you are going to punish them for the mistakes, will you reward them commensurately for success? For every life they save, can you give them a life?