Dang,
Wish I taken pictures when I fixed mine as mine was way worse than I see in your pictures. My 87 did not have the top rack from the factory and I had read somewhere that trucks without it are more prone to the flex/sag condition. I used an old technique to pull some of it back. Used to do this to tix the "oil canning" condition on slab sided Jeeps. Basically involves heating the metal gently with a torch then slap a rag soaked in water to quickly cool it causing the metal to shrink. Worked for most of the roof but did not fix it entirely. I was redong the headliner so I pulled it out and found the cross braces had long ago let go of the glue that held them to the roof. So after I did the oil can method it was better but not perfect and still kind floppy. I put heavy duty seam glue in there and that helped the roof to no longer flail but I still wanted a more solid feel so I placed 1 1/2 wide aluminum flat stock I got from Home Depot as added bracing between the factory mountsbars in between roof supports, going accross the width of the truck keeping them long enough to flex them against teh roof panel. No longer recall teh deminsions but I just winged it. I also installed a factory roof rack and that helped a bit more. For the front there was really no help as mine had a slight bowl there the roof was badly rusted. While pondering that and walking through a JY I noticed a BII with a sun roof, hmmmm.. I looked into it and later got a sun roof out of an Explorer and then cut my roff for it. Took care of the rusted area and really helped solidify the roof. Also the "dents" in the header panel above the winshield are a bugger to get to as the interior sheetmetal the visors and such attach to is in the way. Anyhow that's how I fixed mine and the roof is solid and does not move or flex anymore. Been this way for several years now and still good to go. Good luck on yours!