h1 visa re-stamping in canada or india


Quick background on my case: I was working on h1-B visa till last year(2013), sent by an indian software company. The company sent back me due to project unavavilabilty in US, I came back to US on L2 visa (spouse is in US) in, found a job through desi consultancy and revoked my h1-B petition. I have been working on a contract job since then, my contract is getting over by dec 2014. Now, in the month of January (2015) I need to go back to india to attend my brother marriage. And i would need visa (h1-b) stamped in order to come back to US.

Because my current contract is getting over in december 2014, it might be somewhat difficult to find a new job before i go to india. Also, I would need client letter to go for the visa interview.

To be on the safer side I was thinking to get my visa stamped before my current contract gets over, is this understanding correct?

For this would it be better to go canada or india for visa stamping?, I have heard that they ask lot of question for h1-b visa, and don’t easilty give the visa in canada and I would be stuck in canada for unknown time, is that correct? I do have L2 stamped in my passport, can i come back on that if i don’t get h1-visa in canada?

Which is the better for my case, stamping in india or canada?

Thanks for the help!