to 5% (current fees)
5% of $10 is $0.50, not $5.
Furthermore, $0.50 per input is a ridiculously high fee. My transactions right now are getting confirmed in a reasonable amount of time with a fee of about $0.08
No. Every transaction should have it's own address. If the same user engages in multiple transactions, then each of those transactions should have its own address.
With on-chain (non-lightning) transactions, every transaction is going to be a separate input regardless. It doesn't matter if they each go to a different address, or if they all go to the same address, they are still all going to be separate inputs.
It just isn't a great practice to use on-chain transactions for small value transactions. There are a few things you can do to better manage costs.
For example, if you provide products that your customers keep coming back for more of on a regular basis, then you can maintain an account for each customer. Then you can have them make a single larger deposit, and as each purchase happens, you can just reduce the value of their account. When their account balance falls below some pre-determined threshold they can be required to make another deposit. This is how the electronic toll system for the local toll roads works here. Credit card transaction costs would make it cost-prohibitive for the local toll authority to make a separate $0.50 transaction every time a car passes through the toll sensor. Instead, users are required to maintain a minimum balance, and the toll authority processes a charge of $20 (or more) to fund the account whenever the balance falls too low.
Another option, if your customers are likely to be trusted to manage debt well, would be to run a tab. Each customer would be allowed to receive products/services and the cost would be added to a running balance due. They can be asked to make regularly scheduled payments, or to make a payment whenever their balance due reaches some threshold (or both).
Yet another option would be to use a payment processor such as Coinbase. Then any customer that stores their funds at Coinbase will be able to make payments entirely off-chain with 0 transaction fees and no increase in inputs for you.
Still another off-chain solution (as mentioned by others already) is lightning network.
If you don't like any of the above solutions then consider either of the following:
You could offer Bitcoin as an option for payment ONLY on larger orders. Set some threshold and let customers know that any purchase larger than the threshold will have Bitcoin as a payment option.
or
You could figure out what your costs are and add them to your prices. Charge an extra 1% or so per item to cover those expected costs.