Avoiding any unused licensing fees
One approach that goes beyond user-based licensing is usage-based licensing, where the customer pays the vendor for the actual usage incurred. This can be done on a debiting approach, where the customer purchases an inventory of usage which is consumed as they work with the application, or metering, where the usage is recorded for later billing. A pure usage-based approach also eliminates any issues about how many licenses are run or whether they run on virtual systems or not, concerns on the customer's side about whether they purchased sufficient licenses and so on.
A case study of a metering implementation is at: http://agilis-sw.com/casestudy/Fair_Isaac.html