google consider .tld , IP as a source for local ranking, for example if you want to rank high in google.ca, a .ca domain and hosting in a canada base server will likely get yourself higher in the canada local search. Getting links from some canada based website seems helping too.
The only one I know of is registering with dmoz. I don't know how long it takes them to review your site.
backlinks will play the major role in ranking your site. Try to get backlinks from different sites or blogs. Your rank will start improving.
look for good seo company or do your seo work by yourself main look at title and description and do change your content according your title and do carefully work on keyword density hope this helps.