How Crypto Payment Processors Handle Wallet Balance Privacy?
First of all the initial assumption is incorrect. Just because you sent coins to one of my addresses doesn't mean you will see my whole wallet. My wallet software may incorporate those coins in a transaction but it may or may not include all the other unspent coins in my wallet. It'll select unspent coins according the amount I wish to send and incorporate only the ones needed to meet that amount.

The second thing is that it's hard to tell from the blockchain which addresses are part of my wallet and which ones aren't. So for example you may not be able to tell which outputs are change and which are intended for the recipient.

As for bitpay they generate their own addresses and don't ask you for your MPK. To get paid you have to initiate a withdrawal. They pay you in fiat if that's what you request or they send bitcoin to your wallet. They don't pay you after every transaction. Only the total amount when you ask for it.

Bitpay is totally regulated so you will have to comply with anti money laundering and know your customer laws. 

There are no originating addresses in bitcoin. You certainly can't safely assume that sending money to the address where the transaction's inputs were previously sent is the same as refunding the sender. To refund the sender you ask them for their address.