This is because you are still assuming software being developed the same way. Could you give me an example of potential risk that is absolutely impossible to solve no matter how we change the entire computing process (from users running the app, to the app developer, and to the os developers)
I am not suggesting anything that would increase development time, in fact it is the opposite. Having to explicitly support multiple platforms is hell for both developers AND users