The way I see things is Bitcoin is a foreign currency with no definitive country attached to it; ie: CAD = Canada, YEN = Japan, USD = 'Merica and can be used and taxed as you would for any foreign currency. Exchange sites, such as banks, money mart, etc. can exchange bitcoin for cash and be taxed that way like they do for any other currency, except they can do it a couple of ways.
1: They offer a lower exchange compared to online market price.
2: They charge a fee but you still get regular market price.
3: If you don't have a BTC wallet, they can charge either a fee or lower exchange and you get a shiny satoshi coin with a QR sticker on the back that contains your BTC.
I think that would be the easiest way without having to introduce or change a bunch of laws. Just add BTC in as another foreign currency and charge accordingly.