The Problem
One of the long-standing criticisms of D20-style combat is that melee attacks are abstract, while missile attacks are concrete. That is to say, each melee attack throw actually represents the best attack of several abstracted thrusts, slashes, and ripostes. However, each missile attack represents one, specific, missile being fired - which must be tracked on an arrow-for-arrow (or bolt-for-bolt, sling stone-for-stone) basis. This "concreteness" poses a problem for the otherwise abstract system of rounds, hit points, cures, and so on.
Solution
Each missile attack actually represents some abstract number of missile shots. It might be 1, it might be 2, it might be 0 (you didn't get an opening). Since the number of attacks is abstracted, so too is ammunition. Ammunition is now recorded in bundles of 20: A quiver of 20 arrows, a case of 20 bolts, or a bag of 20 sling stones. Whenever a missile attacker rolls a natural "1" on his attack throw, it means he has expended all of his available ammunition in that quiver/case/bag.
EXAMPLE: Marcus is carrying a longbow and a quiver with 20 arrows. He is sniping from a castle wall at invading goblins. Over a series of rounds, he makes attack throws. Occasionally he hits, kills, and cleaves, taking additional attack throws. On the 6th round, his attack throw is a natural 1. Marcus has now used up his ammunition.
Handling Magic Arrows
The first issue that arose in playtesting was how to handle magical arrows, which come in small numbers and can't be readily replaced. The solution is that magical arrows come in bundles. There are four bundle sizes: Large, Medium, Small, or Tiny. Those correlate to finding 3d10, 2d6, 1d6, and 1d4 magical arrows on the treasure tables. (Note that what applies to arrows also would apply to, e.g. magic bolts, magic stones, etc.)
Large Bundle: You run out of magical arrows if you make a natural attack throw of "1-2".
Med. Bundle: You run out of magical arrows if you make a natural attack throw of "1-3".
Small Bundle: You run out of magical arrows if you make a natural attack throw of "1-6".
Tiny Bundle: You run out of magical arrows if you make a natural attack throw of "1-8".
EXAMPLE: On the wall, Marcus sees an ogre chieftain and his thanes approaching. He procures his Medium Bundle of Arrows +2 and begins to fire them. His first attack throw is an 11, a hit! Next round, he gets an 8, a miss! The third round, a 14, a hit! The fourth round, a 12, a hit! The fifth round, he rolls a 2. He misses, and has used up his Medium Bundle of Arrows +2.
I'd be highly interested in the results of playtest by anyone who tries this system.