Recently did this job (successfully)
The headliner on my 1986 GMC Sierra Classic looks like factory. Here's how I did it:
1. The molded backing board/shell (don't quote me on nomenclature) is the key to this whole repair and it cannot be in the vehicle to do this properly. Remove the pieces that support the headliner. Just do it - don't be overwhelmed. Label the parts with Post-Its or a Sharpie and put all the fasteners back in the appropriate holes for the duration of the job. Gently twist, bend, turn (or whatever is required) the complete headliner and get it out of the truck and into the garage or cellar. Be prepared to look up at the steel ceiling while driving for awhile.
2. Peel the old headliner fabric carefully away from the shell. If any pieces of the shell start to come off with the fabric separate them with a butter knife and set them aside. If you can't locate a perfect shell at the junkyard or don't want to pay for a new one you can glue them back into the original with adhesive cement.
3. Step back and see what you have to work with. If you are lucky the fabric will have cleanly separated from the fiberglass shell. If not that is why you so carefully saved those little chunks.
4.Get a shop-vac and a brand new toilet brush (toilet brush - not a wire brush). Get down on your hands and knees and start firmly but gently removing all of the failed adhesive. Don't worry if some of the fiberglass shell carries away - it is actually better to get down to a new surface. After you are done scrubbing use the soft brush attachment for the vacuum and get all the old glue off. Then get your toilet brush back in hand and do it all over again, and again until you have a new surface to work with.
5. Go to the Home Depot and get a couple of cans of spray-on polyurethane and 4 cans of 3M heavy duty adhesive. (Oh yeah and a paint roller with a nice fluffy cartridge)
6. Spray the newly cleaned shell with the poly and let it dry overnight. In the AM you should find that you have a nice hard/firm/sturdy shell to work with.
7. I forgot to tell you that on the way home from Home Depot you should have gone to JoAnn Fabrics and asked one of the nice ladies there to direct you to the headliner material. You also should have measured your shell or brought your old headliner fabric with you in a plastic bag. They at JA Fabrics will set you up a beautiful piece of foam backed headliner that is thick enough to hide any gouges you may have made during the cleaning process.
8. Back down on your hands and knees and lay the new material out over the shell trim away to fit (leaving about two inches over on all sides.
9. You can guess the rest - read the instructions on the 3M can. I believe it will say to spray both surfaces and wait 30 minutes before joining. Use all 4 cans - trust me! It will look like a winter wonderland, but that's correct.
10. Have an assistant help you lay the fabric back down on the shell and get that new paint roller that I forgot to mention earlier. Get back down on your H&K's again and while gently tugging where needed, start rolling the fabric onto the shell. Start in the middle and work out.
11. Let it dry, trim any excess fabric from the edges and go hang in back up in the truck.
One note; depending on the contours of your shell it may be prudent to place some folded up towels under certain areas of the shell so that when you roll the glue into the interface you can press down firmly.
This will work real good - you will not be able to take your eyes off of the professional job you did ( and keep showing people till they are sick of hearing about it). It will last for 20 years.