... or don't even know what software is installed. Add/Remove Programs in the Control Panel can help here, but it requires diligence in checking for unused software. At least XP now gives you some hints about how often a particular application is used.
I don't know what the best solution to these issues is, but having business software that tracks usage might be helpful.
My company uses a floating license manager for our product. You buy 3 "seats", and the application checks out a license for the duration of your usage. The application itself can be installed on as many PC's as you like. Any 3 people can use it simultaneously, but a 4th will be refused.
It's not optimal (because the license manager client has some problems), but our customers prefer it to having to buy "seats" for only occasional use.
Question #1: Do you know if there are any generalized floating-license managers that may be used to restrict use of arbitrarily-selected programs?
Question #2: Suppose that a company bought 5 licenses for a program, had it installed on eight computers of which seven were usable (one was kept in a back room configured so it could be swapped for any of the others in case of failure), but had a license manager so the software could only be used on five computers simultaneously. Would the use of a license manager prevent the BSA from demanding eight copies of the software?
If the BSA were to work to provide a practical means of controlling software utilization, they could probably win a lot of good will. Unfortunately, all such efforts I've seen have some severe problems.