That seat in the photo needs paint. Visit the Furniture Clinic website where you can buy BMW colour paint and for the after care you should buy the furniture clinic leather care cream. Apply it every 3 months.
For the sagging leather, heat will sort it. I haven't used a heat gun yet but I have had excellent results with steam. Sort the sagging before painting.
For best results, the only way really imo, is to remove seats from car. Remove the seat back from base. Remove seats plastics. Unclip the leather from the metal seat base all round and then start using heat. This helps to relax the leather and you can overshrink the leather and when you clip the leather back on it will be tight.
I accidentally found out, on the hottest day this year, that the power of the sun is great for removing sagging. I had a seat base that needed building, that I was doing in full sun. Due to the distraction of beer and shade the leather seat base was left in the sun for many hours unclipped. When I eventually put the leather back on all the sagging was gone. It was virgin tight.
So the answer is yes, all the problems with the seat can be fixed. It's not that difficult but just needs time. Compared to the E85, replacment seats are not really that expensive for the E89 either if you just wanted to swap them out
