To effectively combat piracy, games need to either a) be distributed in a form that cannot be copied, b) require secure authentication to run, c) use a cloud-computing (or traditional server-based) subscription model with an online log in to authenticate, or d) have free distribution with advertisement or sponsor-based revenue model (with a strong system in place to prevent ads being bypassed or blocked by end-users).
Option (a) is used by consoles rather effectively, but in the PC games market, it is next-to-impossible to implement.
Option (b) is regularly and continuously slammed by the anti-DRM community as oppressive. Whether this is because no developers have found a non-intrusive system that cannot be easily bypassed or not, I don't know. I have yet to find a system like this "oppressive," though I admit many are trivial to circumvent.
Option (c) is employed most (if not all) online games, and I don't hear much complaining about that, but when Mass Effect wants to check with a server, the anti-DRM crowd gets in an uproar.
BTW: the only difference between the DRM in Mass Effect and the DRM in Windows XP/Vista is that MS allows you to authenticate offline, whereas EA doesn't. Mass Effect is actually less restrictive, as it allows you to install on multiple systems at the same time - but I don't hear an uproar over Microsoft's DRM.
Option (d) is used in browser-based games, and, I think, in a few PC games, though I couldn't name any. I'm guessing that the potential revenues are too small to make it worthwhile and/or the games were hacked to remove the ads - leaving this as an undesirable model for developers.
Since (a) and (d) are effectively off the table, we can either have games with a strong authentication system, or we can have server/cloud-computing based games on the PC. Furthermore, since the authentication systems developed so far have been proven easily vulnerable to cracking, the server/cloud-computing based model makes the greatest amount of sense from the standpoint of protecting the games from piracy. Games like World of Warcraft have demonstrated that gamers as a whole really don't mind needing to log in to a server to play their games. Operating under the assumption that all users have internet access at all times, this would be the optimal solution in my opinion.
Recognizing, however, that assuming that all users have internet access at all times is unrealistic, I am forced to relax the assumption to a safer level. Assume, instead, that all users have internet access at least 1 day in every X days. Users purchase subscriptions to games, and must log in at the beginning of each game session. Login credentials are validated for the following X days, so if the client cannot connect to the server, the credentials for the previous login are assumed to be valid if it is within X days of the last valid login. There are no limits on the number of concurrent installs, simply on the number of concurrent uses of the account.
That's just my suggestion - I know it probably will earn me a bunch of flames, but it is my belief that this represents a reasonable compromise between preventing piracy and minimal intrusiveness.
I don't believe that there is such a thing as an uninvasive, effective DRM system, but there are reasonable, effective solutions (see WoW). In the battle between developers and pirates, PC gamers cannot afford to let the pirates win, but also should not submit to unreasonably invasive DRM - even if it does eliminate piracy. If the pirates win, PC gamers lose, as developers move their titles exclusively to consoles. PC gamers should be working with game developers to devise a system that reasonably protects the rights of developers and doesn't unreasonably interfere with or cause trouble for gamers.
I'm not married to my idea, so if you've got a better one, speak up!