You can replace the headliner for about $12 a yard. $25 will do almost any sized vehicle except vans.
Once the nylon tricot facing starts to separate from the foam backer, it's only a matter of time before it's all gone. It takes a good long afternoon to do it right.
I've never tried the hairspray thing as a temporary fix. Ill have to remember that one.