That sounds accurate for SC. In Charleston, in 2007 when I worked there, the county medics were making $45k/yr after making crew chief. Cops were in the 30's, and the FF's were in the low 20's to low 30's. I agree that you need to move in order to work for a department that fits your standards. That's why I left for a better paying/benefits firemedic job in Virginia.
As far as unions, I have to disagree. When I worked in Charleston, it was very clear to me that the employee is at county's mercy. Their operational policies, paid time off policies, holdover/recall policies and such were not to my liking. Contrast that to my current career, which has an IAFF local. We have 36 hours max hours worked, we have a "No hold/recall" list that we fill out to be exempt for the purpose of education, a doctor's appointment, travel plans, etc. Discipline is progressive and step based, the same standard for all. We don't have to go available out of the hospital until we finish our ePCR. Promotional exams are objective and we're ranked on score, no favoritism. The county wanted to RIF (lay off) 90 or so positions in 2009, not too long after I graduated. That got squashed. No forced demotions. No brownouts/blackouts. We got a raise this year, after several without increases, only because the Union stepped up to facilitate that change. Lately, the county exec wanted to implement a program called "STRIVE." In a nutshell, he wanted to either stretch out all step increases to every two years rather than every year. That got knocked down. He wants to mess with our pensions, so we're going against that as well. My Union dues were paid back many times over already. If this were to have occurred in Charleston, we'd have been a bunch of unemployed people, or at the least, taking a pay cut by proxy, since inflation continues, but the raises don't.