I try to avoid unpaid crew whenever possible, but when I do use them, I do this,
I fire anyone (from a volunteer job) that misses a shoot with a lame excuse.
Attitudes are contagious, and I don't need anyone around that thinks we are just screwing around. One grip that had worked with me for years had been sceduled to show up for a shoot for weeks, then texted me 2 hours before the shoot to say that a friend had called him wanting to go to Great America last night, and now he was too busy to show up.
I just terminated him from the project permanently in 5 seconds. A person that puts their own recreation ahead of the welfare of the team is garbage, and should be disposed of.
The problem is that to get free work, people act like it's a recreational thing, and so others follow that lead and prioritize it as no more important than a trip to the bar. You have to communicate to your crew that a lot of time,effort, and money went into what you're doing, and that when people don't make an honest effort, it penalizes those that do.