I think avoiding products that you must buy through salespeople is another good defense... Assuming the same good is sold by two companies, if one requires you to dicker over a price with a professional, it costs them much more to provide you the service than it costs the other company, who just puts a price on the website.