Since most users store their money in wallets with exchanges like Coinbase, how trivial would it be to write trading algorithms that minimize shifts in capital gains? E.g. Coinbase would try to balance capital losses and gains on a continuous basis, then come tax time they sell off an appropriate number of BTC to pay the tax bill on the net appreciation of their coins over that time.
I think this will accelerate the shift towards Bitcoin exchanges operating as banks under the law. If you, as a consumer, deposit $1000 with Coinbase, they could store this as $1000 USD if they were a bank. Then, upon you actually wanting to spend the Bitcoin, they perform the transaction to another bank. It all happens so fast that the price of BTC doesn't change so the consumer pays no capital gains taxes.
Likewise, if you choose to maintain your BTC wallet yourself, TurboTax could write a module where you provide them your wallet address and they let you know your tax burden by comparing your transactions over the last year with the spot price of BTC when they were performed. It's not obvious from looking at the blockchain, but if you have the blockchain plus the addresses of all the various wallets owned by a person, you could do it. Transactions within that set of wallets are non-taxable, transactions outside of it are. If you don't provide all your wallet addresses, that's effectively tax fraud and is no different than keeping a Swiss bank account. At the end of the day, the government has the power to throw you in jail if you don't pay your taxes, and that gives them the power to regulate the economy.
This is all predicated on the assumption that Bitcoin will never serve as a true currency; which I think all signs are that it won't because governments just aren't willing to give up enough control over the economy to make it possible. But Bitcoin can still be useful as a method of transaction, which is why I think we're seeing regulation pop up around it.