I believe it's quite simple how small business can recoup the fees:
Firstly, the real issue is not so much the 20-40p Debit Card fee - it's the 2-5% Credit Card fees, and rising to astronomical fees of up to 10% with Amex and Diners which I why I don't accept them "at all, point blank, go elsewhere Sir".
As has been said, from Jan 13th we can't charge extra for credit cards but I suspect we can discount for cash with impunity. So you simply UP your "list price" and charge that to Credit Card payers and offer a variable discount for cash/cheque/bank transfer
Won't work with the big retailers as they'd soon get found out - but I suspect the rest of us can get away with it.
If not we can just post from jail.