Piracy can be effectively battled by publishing frequent game updates in form of patches. A patch doesn't necessarily mean that the game is bad and needs to be fixed. A patch can contain new gameplay enhancing features and balances, important tweaks as well. I think, that the DLC idea is killing sales. If your game is really good, DLC-s are the first to be cracked. See the Mass Effect series. Instead of publishing DLC-s i would consider slowly dripping new bits of content into each new patch, which ought really be renamed Content Updates. Each new content update adds some tiny bit of fresh graphics, either a new NPC ["And More To Come!"] or a new weapon or new type of ammunition or a new type of grenade or a new type of enemy. Something that doesn't require rewriting whole systems in the game, just steadily add new content.
A patch is best, when it:
contains a new, restructured game EXE: when a cracker opens the new EXE in a debugger, he shouldn't see anything familiar. Hexadecimal addresses should change, program structure needs rearranged. A changed authentication routine compiles to different places in the EXE, for example. Old patchers (game specific auto-cracker programs,etc) should not work by default (on the new game EXE). Also few constants in the protection routines must be rewritten, so when the new EXE is debugged, entry points and jumps go to different places and behave differently than in the previous version.
contains new features, content(see above), important polishing, re-balance, tweaks, best a fix some important problem that has most been reported on user forums: fix of one of the top 5 bugs or somethin'.
contains listed bugfixes, but make these not the main point of the patch: always emphasize the NEW components to the gameplay.
This way sales should increase, until the new version of the game is cracked again. Watch the process when the new crack of your latest published patch comes out. Time and plan the new content. Then rearrange the source-code again, so it compiles as a differently structured EXE and publish a brand new patch. Again with features & content that makes people drool for your game and makes purses open. If the patches are frequent enough and you succeed to balance - Plan & Proportion - the new stuff that gets into each new Game Version -, basically you are tiring the crackers out and increasing sales.
Crackers get tired:
when lot of gamers harass them to crack the new version of your game - at this time the Game is really good!
new patches are coming out steadily, but all are a nightmare to crack, because they require a lot of time & energy sacrifice again and again with every new patch.