2) Your best bet would be to gain employment by a company that has offices in both the U.S. and Canada. Then, with the help of your company, you could obtain a transfer visa:
http://www.consular.canada.usembassy.gov/usa_visa.asp#transf...
Many companies with offices in both Canada and the U.S. aren't in the "startup" category. You could either accept working for a larger company or find a (somewhat more difficult) U.S. startup that is willing to start a Canadian branch for you. Opening a U.S. company in a province such as Alberta has a number of advantages beyond just employing someone as talented as you are.
3) Some certs qualify you for a "specialized" degree. Since you didn't go the education route, going the cert route might not be a bad idea if you make a wrong turn anyway. Obtaining a high level cert (even quickly) may be an easy way in.
http://www.consular.canada.usembassy.gov/nafta.asp
Specifically: "Computer Systems Analyst Baccalaureate or Licenciatura degree; or Post-Secondary Diploma or Post Secondary Certificate and three years' experience."
Note the Post Secondary Certificate in there.
4) Contract.
You can "contract" for a U.S. based company, work there for months at a time if required and not put a full-time strain on the startup. Reliable, competent off-site employees and "virtual offices" are the new black in startup life.