If you would use your own wallet (such as Electrum) instead of Bitpay, and someone pays you 0.001BTC, you'll just see 0.001BTC appear in your wallet. But if you want to use that 0.001BTC by yourself, you'll need to pay a fee again. Bitpay instantly takes the difference, but in the end you'd have to pay it one way or another.
At the way fees are going, you're lucky if you still get $6 out of $13, if fees get higher again (like they were last week), your $13 disappears completely.
As a merchant, you have a few options:
-Pay the fees by yourself (which is what you're currently doing)
-Charge the customer extra when he pays with Bitcoin (which means the customer pays $13 to you, $7 for his own fee, and $7 for Bitpay's fee. This is what my food website did, so I had to stop using Bitcoin)
-Stop accepting Bitcoin (while many people speculate Amazon and McDonald's are going to accept Bitcoin, Steam stopped accepting it).
As much as I hate saying it: Bitcoin is useless for small payments now.