Your photos didn't display. I just had to put a new headliner in a car, the cloth was foam backed and the foam just disintegrated and the cloth sagged. I had to remove the plastic headliner, scrape all the crumbled foam and glue away with a wire brush. I then sprayed the plastic liner with contact cement and applied new cloth with foam backing.
I suspect you might have to do a similar job on your headliner, once it starts to sag it's tough to repair and reuse the old cloth or vinyl liner.
If you look at auto parts websites, you might find 'buttons' that have a sharp point, you poke through the cloth and backer, then twist to tighten the cloth and they hold the liner in place. Not always pretty, but effective in cloth liners that have come loose.