I worked at a customer service line for a Canadian TV service, so I understood the pain of the guys on the other end, so I don't get hostile.
It's tempting to dehumanize the guy on the other end. But always remember, the guy on the phone isn't "the company". They likely don't have any power other than answering questions, and often are just as confused or pissed at their company's policies as you.
There's no reason to get upset. Just play the game, ask for managers when you want anything outside of some token $5 credit, and stay patient.