I have heard this compromise, and think it is a good one.

Valve should still allow the data to be accessed for people with the option set to "Private", but it should disassociate the data from the player's steamid/dota account, whatever. The names would show up as <private> but still have their stats, and still show up as "players", but with no way to trace it back to their in game account.

That way 3rd party sites can still have the data, and people can have their privacy protected.