I solved this in my games. With diseases poisons and curses. Give the poison or curse a level (easily found by using HD of creature - say its a 4 HD snake, so 2nd level poison, pretending the poison is a spell and the creature's HD determnes level, or pick a level between 1 and 9).
Then this:
Lesser Restoration
2nd-level abjuration
Casting Time: 1 action
Range: Touch
Components: V, S, M (a 50gp gem, which the spell consumes)
Duration: Instantaneous
You touch a creature and can end either one disease or one condition afflicting it. The condition can be blinded, deafened, paralyzed, or poisoned. For each condition or disease, make an ability check using your your spellcasting ability score +1 per level of the spell slot expended VS a DC that equals 10 + the spell or effect level + the caster’s spellcasting / ability score modifier.
Remove Curse
3rd-level abjuration
Casting Time: 1 action
Range: Touch
Components: V, S, M (a 200gp opal, which the spell consumes)
Duration: Instantaneous
At your touch, one curse affecting one creature or object end. If the object is a cursed magic item, its curse remains, but the spell breaks its owner's attunement to the object so it can be removed or discarded. For each curse, make an ability check using your your spellcasting ability score +1 per level of the spell slot expended VS a DC that equals 10 + the spell or effect level + the caster’s spellcasting ability score modifier.
At Higher Levels. When you cast this spell using a spell slot of 4th level or higher, your ability check bonus increases (see above). When cast at 6th level, the material component is a 1000gp opal, and at 9th level the material component is a 5000gp diamond.