OK, before I read all the thread, I am going to tell you about my own experience. This is in high school, which is a little more difficult because students do not choose the subjects (at least where I work). Let me just handle some tips that were quite useful:
* Attack the behaviour, not the student. What is wrong is the behaviour, not the person himself. maybe you can approach him/her by saying that complaining about grades but not actually doing the work is contradictory. Avoid saying "you are contradictory". Like this, you give him/her the chance to change. Otherwise, he/she is stuck in that label.
* Praise publicly, scold privately. Never never never engage into a rebellion in the open. If you "win" (which you probably will), you humiliate him/her and it is purposeless. I am sure that you/the professor set the rules clearly so if anyone complains in the open, you can simply say it was clear at the beginning of the term and he/she can meet with you later (not in front of everyone). On the other hand, do praise. Not the rebellious person, anyone. You'll see that praising a lot will get students be more positive about their learning. For example: "that is an excellent observation".
* Communicate. Meet with this person and explain his/her lousy progress. Leave a record. Ask the professor to be present. when the time comes and if he/she fails, you have everything on records.
Anyway, this is very schooly, so forgive me if you do not find it useful.