(Aside: if you want to read the version of this I wrote at midnight after a session, it’s on my Tumblr, here.)
I’ve always disliked tracking hit points for monsters, and I know that it irks my players sometimes. I’ve tried various methods, like poker chips or using percentile dice; but high-level characters & monsters have so many hp, and dice are liable to be knocked around. So, a solution, inspired by the Wound system from Savage Worlds.
Everyone (PC, NPC or monster) has a Wound Threshold, which is equal the average roll of your hit die and add your CON modifier (and any effects that increase your maximum hit points with level, as from the Toughness feat). Now, whenever you take damage, round it to the nearest multiple of that number. If it’s x1, take 1 Wound. If it’s x3, take 3 Wounds. When you take Wounds equal to your level (or number of hit dice), you start saving vs. death.
Healing works the same way. Round the number of hp healed that the cure wounds gives you, and heal that many wounds. If you take a short rest, you can heal a number of wounds; you have “healing surges” equal to your level, and regain half that number after a long rest. If you get hit by a wight, and fail the saving throw, the number of wounds you can take is reduced by the same number as you were hit for, etc.
Now, the practical effect of this is that it averages out damage taken. A solid fighter is likely to have a Wound Threshold of 8. So, if they take 4 damage, nothing happens. If they take damage between 5 and 12, they take a wound, and so on. In 5e, I’ve found that damage outputs are fairly high, and everyone is throwing around damage between 4 and 13 most of the time. Most monsters and most PCs have WTs in this region, so it all balances out in the long run. But wizards and sorcerers are more likely to take a couple Wounds at once, and fighters and barbarians are only rarely going to take more than one in a single hit.
To adjust the lethality of damage (because, I think, it’s a bit swingier like this), you can fiddle with how you round damage. Up, down, or Swiss-style; my personal backup if Swiss doesn’t work is if the damage is one or two below the Threshold, I’ll round up, otherwise I’ll round down. This keeps foes with piddly damage averages from constantly wounding fighters with 5 damage, while keeping wizards fragile. It’ll take a bit of play-testing, I think. I mean, Ancient Dragons have d20’s for hit points, so that’s a WT of, like, 15, so they’re going to require a LOT of HARD hits. But, then, that’s kinda the point of a dragon encounter, right?