While indie games tend to be rather good entertainment for the buck, they really can't compete with professional studios when it comes to visuals and audio. And let's face it, those are what drives the masses towards your game because in the end, it is really hard to capture gameplay in screenshots and trailers. In trailers you can show off what happens on the screen, but not necessarily how player interacts with the game. Worst of all, trailers usually have HUD and other elements disabled to provide a cinematic trailer, in those cases we won't see quick-time events and whatever else. So we cannot distinguish scripted events from quick-time events and dynamic events.
But regardless, back to the topic. There's no stopping piracy, but it is possible to reduce it if those publishers would get a clue.
The first is DRM. The harder you make it to buyers of legit copy of the game to play it, the more likely it is that they will resort to piracy. Now I am ready to come half-way and recognize the need to identify each copy of the game. Here's where I am willing to accept cd-keys and online authentication at install time. I however may not accept the need for online access while playing. Individual copies can be said to be necessary to make it fair game and encourage people to buy their own copies. Copy-protection like SecuROM, StarForce and any other copy-protection that may potentially do harmful changes to your system and in some cases, prevent you from playing the game definitely drives people to piracy. Requiring CD or DVD to be in the drive while playing is also stupid.
The second is delivery platform. Providing games right off the internet is really convenient, some delivery platforms are better than others. Steam of course is bigger than the rest combined, but it also does most things right. The games you've bought are locked to your own account, but in turn many of the games do not have any other form of DRM. So this is definitely step to the right direction. People who would normally download a pirated copy for the convenience of it can now turn to a delivery platform like Steam and do it roughly as conveniently, but legally.
Publishers still stick to their old traditions of region locked launches even with delivery platforms, there is absolutely no need for this stupid region locking anymore these days. But the bigger failure of delivery platforms are the myriad of problems that tend to occur on launch day. A lot of games have had problems when they've become available on delivery platform like Steam. There seems definitely be a lack of QA from both publisher/developer and delivery platform to ensure that the game is ready to be launched when it does.
And of course price. Why are online copies as expensive as retail copies when you should be able to reduce producing of the game medias, storage and shipping expenses from the price? There was this one indie game that was being sold for mobile phones. At first the price was about 10$, it didn't sell well. But when the price was reduced to 5$, it started selling albeit still at lowish numbers. At last resort the price was reduced to 3$ and it started selling like hotcakes, easily trumping expectations the developer had for 10$ price bracket. In the end the developer earned a lot more from selling the game at 3$ than 5$ or 10$. There's a lesson to be learned from here folks.
TLDR version.
1) Don't **** with your customers. They're the ones who provide food on your dinner table.
2) Adapt to the times and needs/wishes of your customers. If you don't, they'll look elsewhere.
3) Be reasonable in pricing. Selling more at lower price can earn you more than selling less at higher price.