How many rounds you blast away from the mag in your automatic weapon is one issue — the point of the semi-random human element holds some validity here.
But a random system to track how many arrows you've fired with your bow, or crossbow? "Oops ... I only meant to shoot one arrow, but it seems I actually shot five" ... eh? I did that implausible Kevin Costner multi-arrow stunt without noticing, or what?
That's a completely different matter.
Firearms with corresponding mechanics: think single-shot bolt action rifles, break action firearms (esp. single barrel) ... not to mention, weapons like the M203, or the Carl Gustaf.
If your weapon keeps dispensing bullets as long as you keep your trigger pulled and your dexterity and/or self control is a bit lacking, then sure; you quickly lose track of what you've left in your magazine. But for weapons where loading every single individual shot is a bit of a hassle before you can fire it ... such a random mechanic becomes very tricky to justify, in my mind.
Well, that depends entirely on what the time scale of a turn is. Pretty much never is the goal of any human in a fight "fire two bullets at that guy over there" or "swing my ax at that guy three times." No, it's "suppress that position" or "kill the guy running at me." How you achieve that is a combination of intent, dice rolls, and story that links the two together in a way that makes sense. The maximum limits of what you can do are defined for pretty much all activities, ROF is no different.
So in that context there are very easy and super sensible explanations for all of the cases you outlined above. If the turn is long, then it all makes the same kind of sense: You shot five arrows because you needed to, because the first four had no effect. You fired several M203 rounds because one was a dud and the second went long. You emptied your pistol and
still didn't manage to hit the guy. IE, outcomes aren't necessarily linked to the effort expended to get there. I also prefer approximate turn lengths for all of these reasons. As a storyteller or a participant in a story, I need to know when things
happen, not what is happening every three seconds
exactly. And it's the job of the players and the GM to tell that story, not just to roll combat results off infinite tables.
Of course a sensible system will scale ammo resources accordingly. I would assume that ROF and asset counting will take the scale of what you actually have into account. It also would make pretty good sense with true single-shot weapons to track them directly, since in that case it is easy to do for both the player
and character.
Getting this across and making it clear to players how it actually is far more sensible, of course, is the GM's job. If the game system somehow tells you that you fired 2 M72s at that BMP, but you only had one... well, fix it, tell a story that makes sense, and keep moving.