You could have something like multiple different spells giving hp based on the powers of 2
1 2 4 8 16 32 64 128 256 512 1024 etc...
Calculate the HP of your hero when he picks up the item, calculate some percentage of it, and calculate which combination of the powers of 2 will give you the HP you desire to add (you can make any positive integer with combinations of powers of two of integers without needing repetition, for example, expressing 7 can be done as 2^0 +2^1 +2^2)
This is not simple, however I do not see any other way to even get close to adding percentage HP without losing too much performance or precision.
If you are willing to go that far though, tell me, I'll try to think of a way to make this work.