We decided to just ask people to pay for shipping if they could. We also gave the option at check-out to get free shipping (like before), or even to “pay it forward” (paying double) if they were in a good place financially.
Everyone knows free shipping is terrible, but psychologically no one wants to pay for shipping.
This is an interesting approach for a small business to take: a compromise that trusts their committed customers to share the cost when they can. I also admire Craig Mod who charges (the very expensive true cost of) shipping for his photography books so people recognize the true cost of transporting something from Japan across the world.