I don't know about America but I have found a difference between UK center call staff (on-shore) and Indian/whatever (off-shore) staff. Off-shored staff will always follow the script, it doesn't matter if you have already listed trying everything in the script you will be walked through it. About 60-70% of UK staff will listen to you and will either escalate your call or move to areas of the script you haven't covered. For example when I called O2 tech support about my O2 Router being broken, I took a minute to explain what I had done, they guy agreed it sounded like the router was fried and asked if I could try one last thing.
The other big difference is non-off shored staff will admit to a situation being crap, or the company making a mistake. For example I started receiving strange text messages about my O2 broadband. I phoned them up and found out I was being disconnected because I was a high user, the guy on the phone went through the notes and admitted that O2 had tried to contact me but not used any of the contact details I had supplied (used my land line number instead of mobile and emailed my O2 email instead of my Hotmail, since the mobile side of my account used these imagine my confusion). He agreed the situation was crap and O2 had failed me, he then offered to try and get the cancellation stopped since I hadn't been properly warned.
When a company off-shores tech support I know they are doing it to provide the cheapest possible service and it shows, so I tend to vote with my wallet and leave. I agree not all local support is good but it does tend to be better.