The thing about labor unions that separates them from for-profit employment agencies is also the thing that makes unions effective at representing workers and the latter not: Democracy. Organized workers vote to form a union, vote on how to constitute it, and vote on who represents them, while for-profit agents merely introduce a parasitic middle-man that takes a bite out of a worker's paycheck. Within this fact is a profoundly important understanding: Democratic solidarity - and not just collective bargaining as an economic tactic - is the key to improving the prosperity of society.
Unions are just explicit mechanisms of democratic solidarity, and even in job categories where they're technically not permitted, or in states where it's legal to steal from unions ("Right to Mooch" laws) and thus make them impractical, workers can still achieve gains by less explicit versions of the same principle. Every person, no matter how powerless they feel in the workplace, can begin to subversively create the social conditions that lead to democratic solidarity and/or unions. Here are some thoughts on how, beneath the rip curl.
The key to democracy in every context is social networking - and I don't mean the internet. I mean the reality of forming interpersonal connections. You cannot - repeat, cannot - have democracy or worker solidarity in the face of highly efficient corporate machines without a strong, underlying web of community relationships: The soil out of which freedom and prosperity grow. Organizers who base their activities on abstract ideals and self-interest without this social foundation will never be effective, because ideas are weak tea compared to personal loyalties, and a person who would support a union in theory because it serves their long-term material interests without any deeper motive might also be a scab to serve those immediate interests at the expense of others.
Part of the attraction for employers to dissect the workplace into numerous short-hour, part-time jobs (aside from dodging labor laws) is that it destroys the social fabric of the workplace: If you work in low-wage sectors, your coworkers are often a rotating and rapidly changing cadre of superficial acquaintances rather than brothers and sisters in the trenches whom you know and would sacrifice to help. In the absence of a strong community dynamic, self-interest and theoretical ideas are all that's there to base organizing around, and for most people ideas are boring and self-interest just means doing whatever the moment commands (which in practice means doing whatever people who have the resources to plan command).
But that doesn't have to be the end of the story. The opportunities for natural community-forming are limited in this context, but that doesn't mean people who deliberately set about it wouldn't be able to make it happen - and, of course, plenty of people still work full-time jobs where the task would be much simpler. Basically, if you are a person interested in organizing a union, or at least creating a more general "solidarity community" with your coworkers (which is possible in any job category, even if unions aren't legal), the key materials to study are not political, but social: Study how to form social groups, how to make and keep friends (strangely, most people don't know how to do this - it just happens to them, or not), the things that make strong, robust communities that are mutually supportive. When you have people looking out for each other, the rest kind of takes care of itself - organization becomes fait accompli rather than Mission Impossible.
This was the understanding whose absence doomed most forms of socialism that have ever existed: It has to be social to work. You can't mechanize it, because the machines of the over-privileged are always quicker and insatiably hungry. You cannot free people by forcing them to be cogs in a machine, because machines are dead and people are alive, and no matter how brilliant the architect was their creations will ultimately end up eating people and then collapsing on top of them. This is why the only socialism that survives today in anything but name is social democracy - the cooperative provision of services in a highly responsive, participatory way. Social democratic societies where communities are strong are able to have rigorous support systems, whereas those that have overly politicized their support into a high-level abstraction now fall victim to austerity predators.
But now let's deal with the specifics of how ordinary people can subversively introduce democratic communities into their workplaces. As stated, it begins simply with making friends: Have lunch (or, if necessary, just small breaks) with your coworkers, talk about stuff, learn about each other. But unlike normal socializing, don't just look for people who you happen to like: Look to be friendly with everyone, and find ways to not only connect with them, but connect them with each other into a network. Start out with the most innocuous and trivial things possible: Sports, music, entertainment, food preferences, etc. Maybe off-the-cuff one day you offer to bring in food for your coworkers, and ask them to vote on what place to get it from. Another day you're talking about fantasy sports and ask your coworkers to vote on their picks.
Without being annoying or obvious about it, maybe these votes start to become a regular thing with you. It shouldn't have the flavor of an official process - just kind of a poll of what people want. Get people used to making collective decisions in the workplace, and accustomed to playing a direct role in shaping events, no matter how trivial those events start out being. And then one day you're busy with some task, and ask one of your coworkers who usually participates in your polling activities if they would handle it for you and find out what people want for lunch / who they favor for a sports draft, etc. Maybe you do this repeatedly, again without being too obvious, in order to raise people's participation to the next level of active engagement. These activities are only a few minutes of conversation each day, and nothing that would make a boss accuse you of wasting company time.
As you get to know these people, you find out that some of them have interests that should naturally connect them to each other. Help the process along - weave a web. And if you find out that one of your coworkers needs something that another can help them with, slyly broach the subject without seeming to be volunteering someone else for anything or pressuring anyone. If a certain mixture doesn't work and you're in a position to do so, then handle it yourself - be the nexus that connects one person person to another if those two don't like each other or just have no basis of direct connection.
Then, one day, when a coworker is actually sick (rather than merely using a sick day for some other purpose), take the network to the next level by offering to drop by to their house with food from the group. They'll remember and appreciate it: In their minds, the group has become something more than casual, and they'll bring that attitude back to work when they're well again, and it will be reciprocated by some. On another occasion, maybe you find out a coworker needs a place to crash temporarily, or a small loan, or some other thing that mere acquaintances don't do for each other.
By then you'll probably know this person well enough to know if they're on the level or would just exploit friendship, and can treat it as an investment in the group to help them out yourself or connect them with someone else who can and will. Basically, once you've formed a stable, shallow community, look for opportunities like this to deepen it. If you work multiple part-time jobs, this just means you have a larger pool of people to draw on in finding the most promising types to network.
Once you've built what you consider to be a stable community with real personal loyalties, maybe you start letting slip trivial little complaints about the workplace in casual conversation that you think others probably agree with. But don't take it to anyone who could actually do something about it - you don't want the problem fixed yet: You want to introduce the problem into group awareness and then have them act on it together. "Man, when are they gonna fix that buzzing sound the light makes? Isn't it distracting?" "Why does the bathroom sink never have hot water?" Etc. You don't want to seem whiny or fixated, just mildly irked - and eventually you'll find some peeve that resonates with the others. Then use your now-familiar poll system to ask them if the problem should be fixed.
Once they agree, then get someone to fix it: If it's a small problem that's been neglected simply out of indifference, bosses wouldn't see it as what it is - proto-organizing. It'll just be like, "Oh, that thing? Yeah, we've been meaning to fix it, but hadn't gotten around to it. We'll have maintenance take care of it this week." Just make sure it's something trivial to fix, that won't cost any money. If the boss follows through on their promise to have it fixed, then the group has (lightly) flexed muscle and will feel a little bit empowered - it's still an illusion, but one that can lead to reality. And if the boss doesn't follow through, then the group will still have acted collectively on a workplace matter, and the act of neglect would irk the group and increase group awareness of how they are disrespected. A disrespected individual may just shrug it off, but a disrespected group that has learned how to express itself on small matters will be at least a little irritated, and that just further increases solidarity.
Here's the thing about bosses: They're people. If you can, incorporate them into your community in a way that still protects the others from being betrayed by them while giving the community the power to exert peer pressure on them. If they're the sort of person who can't see subordinates as peers, you'll figure that out pretty quickly - but even if they start out with the attitude that they're above the others, most people can be brought to see themselves as a part of a community despite their pride. Bosses have bosses too, and personal interests, and financial difficulties, and peeves at the way they're treated by superiors - they appreciate favors, and like to feel part of a group just like anyone else.
Until you get to the level where they start driving Benzes, bosses should be brought into seeing themselves as part of the worker community, because in fact they are. The fact that you can't legally unionize them doesn't matter: Only social solidarity does, and having lower- and middle-management on the side of their own subordinates can only help. They won't sacrifice their careers for the community, but even a sympathetic enemy is more useful than a completely alienated one, and some of them would actually be willing to take qualified risks for their subordinates if they felt personal loyalty toward them. Bosses who are intractably hostile or callous, meanwhile, can be increasingly undermined and retaliated against from below in ways that can't be traced to individuals because everyone is doing it: Sabotaging their performance in the eyes of their superiors while helping out more amenable people who want their job.
So now you've formed a strong implicit community with networks of personal loyalties, some of which extend upward into management, and you've guided them into acting collectively on some relatively mild workplace issues. When people leave for other jobs, keep in touch with them - keep the community strong, and if they're not happy with anything at their new job, cavalierly suggest that maybe they could start something like what they had with you. If they do, the network grows beyond that one workplace. If not, then at least you still have that one person. Moreover, when new people come into your workplace, they'll find a tight-knit community that nonetheless welcomes them and brings them into the fold if they stay over time - they'll be grateful for it.
Eventually there will be a precipitating event that tests the strength of what you've built: Some member of the group is unjustifiably fired, some kind of criminal activity is being perpetrated by management against employees, an unsafe environment has caused a member of the group to be injured, etc. By now you have a solid core of people who are known to each other's families, do things together outside of work, and support each other in time of need. If you think your people are ready, this is the time to organize, even if it has to be unofficial: Gather at a member's house and discuss in depth how the group is going to respond.
Maybe you decide to form a union, file lawsuits, file criminal or civil complaints with relevant authorities, and of course help out any members that have been harmed by these events, or all of the above. At this point unionization has already effectively occurred - all you're deciding on that question is whether and to what extent you can and should make it explicit. You decide whether to go to war with the company, make humble requests as an unofficial group, or hunker down and keep building the community toward the day when you can act from strength. Maybe at this meeting you formalize the structure of your group with designated leaders, even if you choose not to make anything official on paper, or else keep it decentralized but with more structured processes. Either way, you're democratically setting policies for the benefit of the group - and once you're doing this on a sustained basis, you've already won regardless of what you decide.
Your group, whether it has a name or not, whether it exists on paper or not, and whether it has leaders or not, now has a foundation for action - both political and economic. You have a foundation from which to begin influencing the broader local community (hint: Use the same tactics outlined above) and not just your own workplace. Your group can affect the outcome of elections, even if it's just a bunch of toilet-scrubbers, or a bunch of shelf-stockers, or a bunch of temporary office workers, or a motley crew of workers from different backgrounds and different job categories united simply by working in the same place.
This is people power. This is all that ever has changed or ever will change the world: From the war-veteran Athenian mariners who invented democracy to the trade guilds of medieval German cities, from the agrarian communities of colonial America to internet-driven freedom movements, it all boils down to one person looking out for another. All the elaborate theories and systems devised to manage, explain, or stifle that basic community instinct are just a reaction to it, and supportive reactions devoid of a social foundation can no more succeed at building prosperous, free communities on their own than hostile reactions can destroy those that remain firmly rooted.
Anyway, these are just examples of what you can do - the point is to apply the general principle being illustrated if you have a desire to change the circumstances of your workplace and the workplace in general. It takes many years and a lot of trial-and-error to build a community, and no successes are ever guaranteed, but ultimately there's no reason not to do this: We are none of us truly human until we have community, and not only is nothing we believe in possible without it, but once we achieve community, the legal and policy changes we support are a natural outgrowth of people simply looking out for one another. We achieved the New Deal not because Saint Roosevelt came down from heaven and handed us programs, but because America was already full of tight-knit communities looking out for each other, and states that had passed social programs modeled on that example. We can do this again, and it begins with one, simple question to ask your coworkers: "So, what do you guys want for lunch?"