The reason a computer cannot "fix" harsh lighting is because of the nature of the shadow's edge in harsh lighting. The difference between harsh and soft lighting is not simply a matter of contrast, it is a matter of grade. There is a contrast factor, however that is the result of the gradient, and it is a structural and local phenomena, not a global one nor a micro one.
You have a quick gradient between shadow and non-shadow with harsh lighting, while you have a gradual gradient between shadow and non-shadow with more diffuse soft lighting. There is absolutely nothing a computer can do about that, unless you intend to manually paint in a softer gradient yourself, taking into account all of the various contours of whatever it is you are shading. The nature of light, and how it shades a surface, is a matter of the light interacting with those surfaces. Assuming you had DETAILED information about the physical structure of each object in your scene, as well as detailed information about each and every light source, and the position of the camera relative to them all, then you could probably have a computer reconstruct the appropriate shading. That is a lot of information you are never going to have, though.
If you need a certain kind of lighting in your scene, you need to apply it in the scene. There really is no way to correct the wrong kind of lighting in post. It should also be pointed out that there is no such thing as good or bad lighting, really. It really depends on your goals. Harsh light is often selected explicitly for use in portraiture, as much as softer and diffuse lighting, or even combinations of a variety of types of shading.