The problem, as I understand it, is that the purchaser can choose to pay or not pay the fee. It is done on the "senders" end. Thus, there is no way that I can see for a seller to "add the fee" automatically to the purchase. True, he can add the fee to the total cost, but the person receiving the BTC cannot "force" the fee to be paid via the technology. Thus, the sender could simply not pay it.
Verification that the fee was paid seems difficult in busy environments with lots of sales ringing up. Remember, the transaction gets returned to the wallet if confirmation doesn't take place in 24 hours.
Any type of instant gratification purchase (grocery store, coffee shop, fast food) would be very vulnerable under these circumstances.
I don't really see Bitcoin transactions as "instant" and impossible to "charge back" as described. Confirmation is necessary, and sometimes it won't happen. You don't have your BTC until the transaction is confirmed. You can forget most businesses taking BTC under these circumstances.
Is there a way for the merchant to "force" the fee to be paid?
As for the psychology of "paying the fee," it doesn't matter that we already pay fees to use credit and debit cards. They are currently hidden. It is all in the mind, I admit, but Americans wholeheartedly hate the idea of adding a few cents. Debit/Credit "feels free" and that is what matters.