Unfortunately, the best in the field don't stay in tech support long. So the dolts usually run the day because tech support doesn't pay NEAR what it should.
I think the worst thing to give tech support a bad name was farming out phone support to offshore call centres with little or no hands-on experience with the given product. When a customer calls to get assistance, and a strongly accented person answers the phone, appears to be reading off a cue sheet, it does very little for customer confidence, much less the company's image
Sadly, while the companies are at fault here, through either farming out or not paying a worthy salary, it's the poor (good) techies who cop the name calling and abuse.
Also, I do not blame the Indian staffers who take these farmed out tech calls for their lack of expertise/experience, or the language difficulties/conveying instructions, etc. They are offered the jobs in their home- land, where reasonably paying jobs are an extreme rarity, and they are doing their best with the training given and tools at their disposal....and again, that comes down to the companies and inadequate training, a lack of provision.
A while back I had to reactivate XP, and while I was transferred to customer support at Microsoft in Redmond, I was still greeted by someone with a strong Asian accent with a US twang) that, at times, was difficult to understand. However, despite the slight, occasional language difficulty, she was polite, friendly, efficient and made the process as painless as possible - "...and is there anything else I can do for you today?" - for which I thanked her sincerely at the conclusion of the call.
I guess what I'm saying here is that we, as customers, need to be a little more patient and understanding of the difficulties/problems the person at the other end must also be experiencing, being they have no sight/hands on with each specific instance and can not always provide the answers being asked of them.