You might want to try a mildew cleaner 1st. I had some build-up over last winter (you deal with storms, we deal with snow). I first tried a cleaner I picked up at Lowes. I think it was the Damp Rid brand. It did a decent job, but the stains were still very noticeable. I then picked up at West Marine a marine specific mildew cleaner (I forget the brand). It worked much better. Not perfect. If you look for it you can see it but at least it doesn't pop out at you.
As for headliner material, one source is Defender at defenderus.com. They have two kinds. One with a solid vinyl surface and the other perforated. The perforated supposedly lets air circulate behind it to help prevent funkiness. Not sure if it works but it might be a good look.
As to how hard. My headliner has strategically (and stuck) zippers all over the place. The ends are stapled under teak strips. The sewing, stretching, and stapling without ripples would be beyond me. You probably need an interior upholstery specialist.