To the best of my knowledge:
As per Apr 2002 ruling, if your visa is rejected in Canada, then you must go to your home country to reapply. Note however, if you do not apply for a visa in Canada and stay there for less than 30 days (for example you go there only for a short business trip but not to renew your visa), then you can re-enter without getting an H1 visa.
In your case, you anyway seem to need to travel to India. So that's one reason to get it done there. Perhaps post a new thread on the main H1 visas page as there are more experienced people there...