Buy a new one, if you can afford it.
I had two hard tops, one for each car. Both had sagging headliners.
I bought a new headliner from ECS tuning, but it was like $300 plus truck freight shipping. That is the best way, although it is pricey. I tried to repair the other one and it didn't work very well. I have never had luck with trying to re-glue headliners, frankly.
Re-gluing headliners is hard to do for any car. At least with the hard top, you can remove the top and then remove the headliner and work on it easily.
I tried gluing one, and it didn't work very well. The fabric stretches and it pulls away from the glue. See link.
The problem with all modern composite headliners (which are a three layer sandwich of cloth, foam, and then a cardboard or fiberglass backing panel) is that the cloth shrinks, and the foam disintegrates. It is not the glue, but the foam coming apart that does them in. The cloth shrinks, so when you try to re-glue it, it pulls away from the glue.
I would suggest one of the following (other than buying a new one).
1. Remove the headliner from the hard top and glue NEW FABRIC to it, as the old headliner fabric has shrunk. Be sure to scrape off all the old disintegrated foam first. If in doubt, take the backer panel to an upholstery shop and have them do it. It should not be too expensive that way.
2. A cheaper and easier alternative would be to scrape down the backer panel (after removing it from the top) and then paint it with flat black spray paint, or that speckle trunk paint (black with specks) and re-install it. You'd probably never notice it wasn't OEM, if you had never seen one.
That's all I know. The hard top rocks on this car. It really makes the car look nice.
I sold both hard tops last year along with both cars. I miss them, but I am finally putting some miles on the M Roadster, which of course is starting to throw fits of its own.
Time for a new seat belt switch...!