I like randomly rolling for HP, but I can see where it's a problem. All of the people I've played with want to roll for HP too. The method I like is a hybrid approach:
Before the player rolls their hit die, they have a choice at accepting the average result, or they roll the die. Once they roll the die, they have to stick with that result. So, for people who don't want the risk of low HP, they don't have to roll.
Also, I've often used variants on rolling (such as getting the average result if you roll lower), so if I were using a hybrid method, I'd have to recalculate the average result.