Hello Jumbo,
Yes, I know the requirements of Facebook. But I notice that Amazon and Ebay have solved this problem.
My idea is that perhaps this problem can be solved with some dynamic resizing of the image (if it is square).
For example, on my old site I've set up to add a watermark to each photo. This is only achieved by adding two files - php and htcccesses.
In my opinion, it should be possible to set htaccess to determine where the photo request comes from, and if it comes from facebook, resize the photo horizontally. Simply add transparent fields to the left and right of the photo to achieve the required size.
For example, if the photo is 1000x1000 pixels, resize to 1900x1000 pixels without losing content.
What do you think about that?