I have a master's degree in International Studies, and a double major with Computer Science from undergrad. My transcripts suck. There's no other way to dress it up. I have pretty good teaching experience, and my GRE scores are awesome, and I suspect my recommendations are as bland as everyone else's. Basically, to an admissions committee, I suspect I'm the model of a student who is probably smart enough but didn't work hard enough.
I want to do a Ph.D. in Political Science, but the response from my applications is looking pretty grim. Am I permanently out of the running, or is there something I can do for the next few years which will help to counterbalance my unfavorable GPA?
Now this might be both my field (computational biology) and/or local culture but I found that my grades were easily ignored during my PhD application.
What I think is the most important part is to tailor your application to the job. If your grades are bad, don't mention them (unless of course they explicitly ask for them) and instead focus on relevant skills. Perhaps you learned relevant (and perhaps uncommon) skills during previous projects/internship/thesis work. You may even have acquired relevant skills through extracurricular activities.
Focus on what makes you the perfect candidate for this job.
Also, for your recommendations; make sure you get your recommendations from people who will actually recommend you. I think a less known researcher who is positive about you is better than a big name that's negative about you.