I have read about an interesting system that I would like to try sometime.
When you level, roll every hit die of your character (with the first hit die set to max). If what you roll (+ CON adjust) is greater than your current hit points, you take what you roll. Otherwise you keep what you have.
What I do in my game, currently:
Roll for your Hit Points as normal. If the total of the hit points that you have rolled is less than the total average of the hit die of your classes above 1st level (3.5 for d6 for example), use the average. Any half HP from the totaled average rounds up. I keep track of what player have rolled on charts.
Both of these rules protect the player from low dice rolls that would affect them for the entire campaign while not granting those who roll well any more benefit. Although I would prefer that everything was point-buy & average, I know there are players who hate not rolling for their stuff.