Let me explain this issue furter:
1. User take a picture on smartphone and upload it.
2. User take a picture on smartphone, copy the picture to his pc/laptop/mac and upload it from there.
3. User take a picture on smartphone, rotate the picture in their smartphone and upload it from smartphone
4. User take a picture on smartphone, rotate the picture, copy the picture to pc and uplado from pc.
5. User take a picture on smartphone, rotate the picture, copy to pc, rotate on pc, upload from pc.
6. User take a picture on smartphone, copy to pc, rotate on pc, upload from pc.
7. User take a picture on smartphone, rotate on smartphone, copy to pc, rotate on pc, copy to smartphone, rotate on smartphone, upload from smartphone.
Now consider all this scenarios in the way back, taking picture on pc webcam and upload on smartphone.
Some software use metadata to know the photo is rotated, some other use other metadata, some software rotate the picture and doesn't add metadata, so it is impossible to know if the photo has been rotated before or not, how and which orientation is the correct.
If you just want to autorotate the pictures coming from smartphone, it may be false positive ones too, I'm have been working on images and php for a long time that's why I know there is a lot of problems to make it work on all scenarios, sometimes a picture gets rotated and should not be auto rotated (that is called a false positive).
As you have said before the majority of your visitors are coming from a smartphone, maybe a solution "for smartphones only" it is "almost enough".
That maybe can be done, but it will be a new one plugin.
Senior Developer