We fight for unions on the basis that absent better labor laws the corporation requires an adversary to keep it from exploiting workers. It's hypocritical to insist upon a union and then get mad about a lack of corporate generosity.
I think the ultimate solution is a economic system which fundamentally recognizes that workers are involved with enterprise and deserve an ownership and some power stake in it. That might create the opportunity for this relationship to become one that is more cooperative.
At least that way the struggle might get a little less existential as every corporation would be on an even footing. I think a good portion of corporate resistance to unionization is about fearing they will have to compete with an un-unionized company.