It's a bit too soon, but at some point, one of the large banks(probably coinbase or circle) will be issueing USD on the Bitcoin chain. At that time, the pot-shop will accept BTC, which will immediately convert into COINBASEUSD. Problem solved. Junseth articulated this pretty well: http://junseth.com/post/109579766177/the-blockchain-isnt-goi...
Bitcoin is an amazing Payment Mechanism. But it's not a good unit of account, and possibly not a great store of value. As such, the solution to the problems posted in the parent will likely involve transmission of USD over the Bitcoin network. Banks will be the ones to do this.
When you say, "one of the large banks" I think of Chase, BofA, Wells Fargo, etc. And, my experience with these entities is that it takes 3 days for them to do ACH transfers (well, the originating account is debited ~immediately, but the destination account doesn't see the $ for 3 days). YMMV.
There are easy to use solutions on the market for accepting bitcoin payments and converting instantly to USD. Bitpay and Coinbaes both do this. On Bitpay it goes straight to your bank, on Coinbase you can do the same thing or even leave it on the site as USD to be withdrawn later. You can change the bank you're withdrawing to at any time.