I think you can just specify an ammo magazine multiplier for each quality level.
Result magazine size = math.min([current infinity value], [Original ammo magazine size] * [modifier in settings for the quality level])
So we can remove "infinity", but add an increase in magazine size at the player's discretion.
is it possible?