If you don't want to give your home address out to everyone, a private mailbox (say, one from UPS, not a PO Box) seems to be acceptable for business. To reduce the risk of unwanted visitors, you can incorporate with that mailbox, receive business mail at it, and list it as your contact address. I didn't know about that when I set my company up, but I've now changed my address over to the mailbox I just rented.
It took me about fifteen minutes to set up a mailbox. The shopkeeper explained the different options. I chose the Personal + box, which gives me a small mailbox that can receive mail for one business and two people. I filled in a form, specified my company name and other names that would receive mail, chose an available box (somewhere I could reach!), showed two pieces of photo ID, signed the paperwork, and paid the fees.
The 12-month price for this at my local UPS store was $245.50 + tax, including the $10 key deposit and the $15 setup fee. For that price, I get a street address that I can use for my business, 24-hour access to the mailbox, and the ability to check the mail status by phone. ("Not every day," the shopkeeper said, laughing.) They'll also accept and sign for packages, which could be handy if I can convince publishers to send me books for illustrated reviews. =)
Changing my corporation's address to this mailbox was easy and free, using Corporations Canada's web-based system. I filled in the corporation name and key that I received through e-mail, put in the new address, and completed the form. Now it's listed as the public contact for the corporation.