A mate of mine did some driving work for some total tossers (not the company name before you ask) a few years back over Christmas. They messed him about with his pay for six weeks. Eventually he got fed up of being dicked about so went onto their Facebook page (which they use to recruit) and wrote an epic rant slagging them off. Within an hour he was getting private messages from the owner promising to sort his pay by the end of the day and if they did, would he take the message down? My mate basically told him that the message would stay up until the money was in his account. Two days later the sum owed (about £800) miraculously appeared in his bank.
He left the message up just to teach them a lesson.
The other way to go about these things is to get an email address for somebody high up and have a rant. Most of the time the people up high have no idea about just how shit their customer service actually is. I once sent an epic essay of a rant to some bloke way up the chain in Talk Talk. He offered me all sorts of free stuff just so I would leave him alone.