Nintendo, and other entertainment creators, should be more proactive in their anti-piracy practices. Make good games (with no DRM!) and charge a fair price for them. New Super Mario Bros. Wii is a great game, but it's not worth $50.
10 million people disagree with you.
Most games aren't worth $50 and that's why piracy is so high.
Piracy is so high because it's so easy.
These games are marketed towards age groups that do not have jobs and do not have money.
If we're talking about young adult males, they have more disposable income than other demographics as they don't have to support dependents or pay mortgages or save for retirement. They're also more likely to know how to pirate.
They're people that usually can't purchase the game anyway. If developers began charging $20 for games, I guarantee that they'd see a huge boost in sales, and probably even make more of a profit than by selling fewer units for more money like they do now.
If that was the case, then they'd already be doing that. They do have financial analysts, you know. Otherwise they wouldn't have any shareholders.
EDIT: Let's try your $20 idea.
At $50 NSMBWii has generated $500 million in revenue (10 million copies sold, assuming $50 US is the average earned per copy sold). At $20 the game would have to sell 25 million copies to just match overall revenue. It would have to sell even more to match marginal profit if we consider the cost of producing an extra 15 million copies. I don't think this is very probable...
Regardless, even at a more affordable price, the majority of people who pirate games are still going to choose the free option. If one has no issue with pirating (ethically), there's still no incentive to pay (other than tangible benefits like artwork or a manual).