Experience is the only way I can distinguish between them.
First, once we connect on Skype, I offer the italki member specific dates/times when I can meet. Sometimes people don't respond. Maybe they're "fake" or maybe they are too nervous, out of town, busy, etc. I don't know. I only know I don't want to waste time by inviting the same person to meet repeatedly if I get no response the first time. So I move to the next person and make the same offer.
Sometimes people will agree to meet on Skype and then they don't show up. I log onto Skype about 5-10 minutes before the meeting time and I usually wait 5-10 minutes after the meeting time passes. I log off early if the person doesn't show up. If they contact me afterward and apologize and explain what happened - maybe there was an emergency, no electricity, etc. - I usually will try again a second time. If they don't show up to the second meeting, I don't agree to a third one. I move on to the next person and make the same offer.
I don't think of people as "serious" vs. "fake." I use the words available/unavailable and reliable/unreliable. I want people who are "reliable and available."
This process takes time, but I don't know how else to find "available and reliable" language partners without observing whether or not they're really "available and reliable." Good luck.