They should make all software free with a pay per use agreement to get a cd key. Look at MMORPGs, people gladly pay to play those. In the last 5 years, if I had to guess, I would say that I paid maybe 600$ in keeping my suscriptions to those games active when in actual games I might have spent 400$ in that same period.
I would suggest 2 business practices. One, give away the game, sell the cd key online and have a force sign up where as you can't fake a cd key because it is not associated to your credit card. Demand that people provide a credit card to get a cd key and have it check whenever you play. Or, pay to play, give away the game totally free but charge per month to have it work. As both methods require a payment, its much harder to pirate. You don't see people playing Everquest, Final Fantasy XI or those games with a pirated cdkey so they must be doing something right!