Instead of making it scale linearly, why not require a set number of materia for a guaranteed meld? This also prevents having to perform multiple attempts, and gives you a very quick and direct method. For example using 40 materia just guarantees the meld to succeed, but also means you always lost 39 of them. Sure, the value for this could be a bit harder to decide if you want it to be somewhat fair with randomness, but i think that it doesnt matter too much. If people truly care about saving some materia, they might do the calculations themselve to see how likely randomness is going to be viable, while many will simply not care and go for the quick method.

Randomness in bulk systems with low percentages has always been an issue in many systems, because randomness is not a reliable method for a balanced distribution (some players will be very lucky, some very unlucky).