I think there's a lot to be said for "soft boycotting." If we could get more people to just check a few other retailers before they go to Amazon, that would actually hit their bottom line a lot harder than a small number of people cutting them out entirely.
The problem with boycotts is that people get told to treat it as an all or nothing thing. It's a lot better, to my mind, to just reduce our reliance on large monopolies where possible, and accept them as an unfortunate necessity when not.