I wonder if we could come up with a sort of Drake equation to estimate it. I suspect there are too many unknowns but perhaps the median of estimates from a number of sources (wallets, exchange accounts, forum subscribers, ...) could give order-of-magnitude precision.
You could come up with an upper bound, but it would be difficult to determine how far lower than that bound the real number falls.
For an absolute upper bound, you could start by counting the number of unique addresses that currently have unspent outputs associated with them. The maximum of individual entities that have complete control over any amount of bitcoin can't be any higher than that.
From there you'd have to start making some assumptions about how many addresses each unique entity controls. Some are publicized (such as satoshi dice), others could possibly be inferred by linking addresses that show up together signing inputs to a single transaction (especially if they show up together signing inputs in multiple transactions).