I think the best solution would be to put arrows and bullets (gunpowder) to be encounter(or rest?) based to easily solve all these problems. Give some tactical importance since no one has unlimited arrows with them, then you might have to start thinking of sacrificing an important inventory slot for an extra quiver if you think you want to be more prepared for long ranged battles.
With encounter limited arrow quantity, you also get more realistic feel, since you can think that your party fills the quivers between battles.
Or alternatively use per rest limit, where the party will forage arrows during camping while wizards memorize spells and what not.
With these approaches you could also have more special/magical quivers that greatly decrease/eliminate the limit. This could also give ranged weapons some other new tactical differences by number of projectiles you can use per rest. If for example the devs think that guns need to be balanced more, they could go about it by giving them very limited amount of uses per encounter (say for instance due to gunpowder pouch limitation) they would have an easier new way to implement these things. While they would still be encounter/rest tied, they wouldn't make them tedious for the user.