And there is nothing to get frustrated about. Either you lose a clip because you used up some shots, or you don't. Which is an improvement over always losing the clip.
"abundance" is require to made your solution work (lot of rolls will even out). But problem is when you lack items and your "be" or "not to be" depends on one roll it could be frustrating.
The random solution is statistically fair in the long run, and scavenging can explain the lucky rolls. The "leftover ammo" solution is even better but requires modifying save files (to store the extra data)
Good thing that OXC save games is that it ignore all unknown nodes this allow without any big effort add new data without even breaking backward compatibility.
I think system should work like that:
1) At end battlescape last half empty clip is fill up.
2) You remember numbers of bullet you borrow in base (you add this to value from previous mission).
3) If numbers of borrowed is greater than clip size, then remove one clip and reduce borrow count.
4) When you use last clip from base in battlescape it would have bullets count reduced by borrow value (similar with transfer between bases).
Only glitch it could have is downgrading to basic version of OXC, it will fill up all partial empty clips in bases