Tech support is constantly a source of amusement and bemusement for the technically adept groups, and a constant source of frustration for everyone. In order to make it work better, though, we must first define what exactly it is that is wrong.
The most overarching problem is that most companies simply don't care to make their tech support any better. Few people research how well tech support handles issues before purchasing a consumer item, and companies know it. If improving tech support does not increase revenue, there is no reason for a company to do it.
Another of the prime problems is inexperienced support technicians, the ones that know nothing more than the basic troubleshooting steps that are explained to them on their first day of training. The problem here is lack of training on the support side. This is a problem in all service industries these days, as companies feel that they don't have the resources to spend extra man-hours teaching the new employee how to do his job, because that will just pull more already competent employees away from their jobs, or at least slow them down. Of course, it's much more prevalent in the tech support industry, because, usually, tech support staffs do not generate any direct revenue for the company. It would be useful to have these new technicians listen in on the support calls handled by competent technicians and after a day or two, start to handle calls on their own while the competent technician listens in. But that probably won't happen, as there's not really any way that we, the consumer, can force tech support groups to do anything.
Many people also complain about inappropriate levels of support. Sometimes you might hear someone complain about a support technician being too technical, but it's much more common to hear him complain that the tech is taking him through steps that either have already been done or obviously have no relation to the problem at hand. In these cases, the person that requires support already knows more about the product than the person attempting to provide support does. In these cases, the support call is usually forwarded to a technician that works in a higher level group. These technicians, though, usually refuse to talk to customers, and that is often enforced by their company's policy. This creates a number of problems, beginning with trying to filter questions and answers through the lower level technician who has no idea what is being talked about. This simulates the children's game of telephone, where messages get further and further corrupted by repetition, paraphrasing, and summarization. A further problem is that it can easily take days or weeks to pass even the most simple messages and troubleshooting steps back and forth. Some people have suggested that there somehow be a way to prove one's technical prowess to the support staff in order to get an appropriate level of support, but that's a system that can easily be abused.
This is not to dismiss over-technical attempts at support, though. While more infrequent, they do exist, especially amongst the least technical of us. It can be very easy to confuse a person who thinks of their computer as an appliance instead of a tool. Unfortunately, this almost always has to do with the technician being unable or unwilling to dumb himself down in order to get a point across to the customer. Sometimes he may even be unaware that that is the problem. And even more unfortunately, the tech may often be of the novitiate sort and be self-aggrandizing when he finds someone he knows more than.
The final insult in tech support is for a problem to go unanswered. This doesn't happen often, because then there is often a direct recourse by the consumer that the company can feel, usually demanding a refund for the product. But it can happen from time to time that the company won't accept a return directly and the retailer's return period has expired, and probably in some other cases as well.
I am sure that there are more types of bad technical support, but I believe that these examples are the majority, and they all point to one major problem in the tech support industry — the lack of independent accountability. If the tech support center is unable to provide quality support, it seldom affects the bottom line of the company that they work for, as the product has already been purchased and the company given their money. Given that most consumers don't, as already stated, examine the tech support reputation for a product, at least for consumer products, only the most egregious examples of bad tech support reach the ears of consumers, keeping companies with mediocre to bad support on the same level as those with good support.
So how can tech support be changed to make it more accountable? An obvious answer is for a tech support guarantee to be provided. But, given that companies are on the same level now, why would one provide such a guarantee? Maybe consumer force could get an already good support provider to start such a program. But that would only increase the company's liability. Another possibility is for all tech support to be provided at a charge, making the tech support generate revenue and, hopefully, encouraging the company to make it better. There's not really any reason to expect a company to explain how to use a product once you've acquired it, only to fix it if something goes wrong. Automobile manufacturers, for example, don't provide driving lessons for their customers. But consumers would not like that, as that's just not what they're used to. In addition, the company has already gotten their initial payment, and making tech support good would only reduce the profits from the tech support, and you're back to having to research tech support before purchasing. Perhaps the payment for tech support services should come from the manufacturer, by paying an external company to provide tech support for their products. But then you can easily have a contracted company provide worse support for a better price to the company, and you're right back where you started. Companies could charge for support but discount money for every hour that the customer waits for a solution. Again, though, getting consumers to pay for support would be difficult. Plus, it penalizes the less technical consumer for asking simpler questions. Then there's the possibility of completely independent tech support providers, but now you've combined both paying for tech support and doing more research. This might not be a bad option for the more technical people, though, without penalizing the non-technical. It might also be possible to construct a database that houses reviews of tech support for various companies. This is probably the most attainable solution mentioned, but it still requires that people remember to do their research before purchasing, but it could make that research much easier.
None of these solutions seem to be adequate, but there needs to be something done to provide better support for products. Maybe it's just a function of the lack of quality in service industries in general these days, but bad tech support is something that's been going on for quite some time, and it shows no signs of getting better.