I have seen some discussions where the headliner was stretched and smoothed, then a trim molding added around the edge to hold it in place. Also, local "trim shops" or auto upholstery shops can repair/replace headliner.
Had this problem once. Local upholstery shop covered screw in buttons that matched ceiling color and spaced them equally apart. Nice job and did the trick.