My education was in labor economics and the biggest problem with unions is not salary negotiation or benefits, it's that they are a 1 size fits all structure. If they were to negotiate against a bell curve where the most productive get paid more than less productive they might survive. Anything else and all will inevitably be lost for the unions.
The most productive workers can consistently make more without the union than with them, so the net effect of a union is to reduce overall productivity and that usually means death for the company.
Reminds me of the union shop-steward who was at a Union Convention and decided to get some illegal sex. He asked at the first brothel if it was a union shop and was told "No". He went down the street and found one that was. He spotted a pretty young blonde and told the Madame that he would like her. The madame told him: "I'm sure you would, but Sophie over there is 76 and she has seniority."
An excellent suggestion. Unions have become havens for incompetents and conscientious workers get tarred with the same brush. If unions negotiated contracts based on the reality that some of their members are goldbricks, slugabeds, and slackers, and that nobody is served by championing such people, then I think they could establish a more co-operative working relationship with management, instead of the adversarial one that exists now.