You are attributing the profitability of software companies to what you think is the "underpaying" of its workers? And you think that unionization will lead to higher wages? I'm just trying to understand the argument.
If the software industry were to unionize, the union would want to collectively bargain for seniority-based job security rules and other schemes to prevent lower-paid new-hires (people not YET in the union) from taking work from existing union members. Other versions of this effect come in the form of union-imposed certification schemes in the trades, "tenure" rules in education, seniority precedence in picking hours in healthcare, etc. The net effect is that the experienced and powerful members make it hard for the young to get into the profession.
I have a problem with that, ideologically. But, in more practical terms: collective bargaining only works to increase wages when the counterparty has no other option. This works when you're talking about workers at the docks: the docks are not going anywhere, the ships need to be unloaded, and you can't exactly bus in some scabs and expect it to work out. With software, what do you think will happen if a union somehow manages, via Swiss law, to unionize one Google office? It's software. Google will leave and hire elsewhere.
This is exactly why Subaru and Toyota builds cars in the southern U.S. while Ford builds in Mexico, and why industries are flocking to non-union states, and why the people are going with them.