Yeah, sounds like you should just replace the whole headliner. Pretty easy fix once you get it out of the car.
Go to a local fabric store and ask if they have car headliner material. It will have new foam backing on it and everything. The lady at my local fabric shop used to do a lot of auto upholstery work, so she had access to a lot of auto fabrics. Get about 2.5-3 yards of headliner material in the color that matches your interior. The only other thing you need is a can of headliner spray adhesive, which you can find in the adhesive section at any chain auto parts store. The best stuff I've found comes in an orange can made by permatex, even says headliner and carpet adhesive right on the can. Then you just have to carefully scrape any old material and glue from the headliner board, vacuum it lightly, then spray the whole board down with new glue. Use the whole can, cause there's no sense saving any, and lay out your new material down and press and roll it into place.
I used a small food roller similar to a bread roller to get it all pressed into place. Then when it's dry, cut the edges down with fabric shears and there you have it.
I've done 3 headliners now on my own for $40 or less in supplies. My local upholstery shop charges $100 to do a headliner, so that's quite a savings.