I managed to solve my issue with the same description. What I first did was download the images to my webserver exactly to what is was online, so I didn't change anything of the file contents, just get en then put in the file.
How I solved my problem? I use PHP to generate the image now after I donwloaded it the same way. This is the simplified version of my script:
<?php
// Create an image instance
$im = imagecreatefromjpeg('instagram_image.jpeg');
// Disable interlacing
imageinterlace($im, false); // did not use this but will do the same
// Save the image
imagejpeg($im, 'instagram_image.jpeg');
imagedestroy($im);
?>
When I started using this simple create and save script it all worked again. It looks like it does nothing but it did a lot for me! Hope it helps someone saving a lot of time, took me 1,5 day to figure out the exact problem.