1/8" landau foam would be fine for your armrests. Landau foam is really hard, so a little thickness goes a long way. Some older cars had "L" shaped pieces of metal on them too, and that would be my choice 'cuz I hate to see screws showing. You could also glue them on and add screws coming from the back of the door panels. You could also screw them on from the outside after countersinking some holes in the armrests.
What make, model and year car are you doing? As far as the headliner, what do you want to do? Your opinion is the only one that matters. Would the headliner out of the matching vinyl be a "hard" headliner?
No one lives forever, the trick is creating something that will.