The upfront deposit thing is always a problem where it's small scale building works for a domestic customer dealing with a small (and ltd.) company.
The risk (from the customer's point of view) of something going wrong is real, and not insignificant. It's just not unusual for small building companies or suppliers to go bust.
When they won't take payment by credit card - there's no good solution that I'm aware of. You can negotiate the deposit down, but in reality all you're doing is reducing the amount of money that there's a real chance of losing.
The company going bust is not the only risk - what if the goods arrive but are defective, and are effectively worth nothing until they are fixed.
A scenario I saw recently involved a window supplier holding a customer to ransom, thanks to the 50% deposit they had paid. The window company, after taking the deposit, announced that they were going to increase the installation cost of the windows by a large amount. If it weren't for the deposit, the customer could have said, ok, you've broken the contract (which gave a fixed price for supply and installation) and goodbye. This wasn't an option for them however, because they'd have had to wave goodbye to their deposit. The company hadn't gone bust, and the windows arrived and were fine and were installed, but at a big cost increase that the customer couldn't challenge thanks to the fact that the supplier held a large amount of deposit money.
I would always advise people to pay a bit more to buy from someone who either doesn't ask for an upfront deposit, or who will take payment by credit card.
I'm never sure why these companies don't accept credit cards - if it's just because of extra costs, why not offer the choice to the buyer - if you want to pay by CC it'll be an extra 5% (or whatever it would be). Is it because the credit card companies won't deal with them because they know they are high risk?
As far as I can see there would be a big market for some kind of escrow system, specifically for small building works. The customer pays the deposit to the escrow company, so the building company knows the money's there as long as they do what they've said they will - but it's only released once there's evidence of goods having been delivered, or work having been completed to agreed stages. But perhaps the reality is that this would cost more to administer, than most people would be willing to pay as an extra for it.