Hi Richard,
There should be no concern on duplicate content - in fact if you copy the site the biggest risk you run is that people will still land on the US version rather than the Canadian one (check this article on webmaster blog on international duplicate content)
Things you should do:
1. In webmastertools set the preferred country for each of the sites (under Search Traffic > International Targetting)
If you use a .ca extension for the Canadian site this is not necessary - it is automatically set to target Canada
2. Use hreflang on each of the pages - in the head of each page add (of course you need to adapt the url's to your specific situation)
If you want other countries (outside US & Canada) to visit the American rather than the Canadian site you could also add:
You can check some pages here to see if implementation is ok.
3. Set the language tag in html - for Canada - for the US version
Alternative would be to use for US / for Canada
4. Localize your content (as you already intended to do). It is however not strictly necessary to change all the titles & descriptions just for the sake of changing them - if the content has exactly the same meaning in en-ca & en-us it is not absolutely necessary to change it. Changing folders / paths - again - if it more logical to structure your content that way for Canadian users do it - but again not strictly necessary. Metrics & prices are changes which are absolutely necessary. Local contact details & about us would be good as well.
5. You could consider local (Canadian) hosting - although a local ip isn't a very strong signal anymore.
6. Try to build "local"(=Canadian) links to the .ca domain.
Interesting readings:
http://googlewebmastercentral.blogspot.be/2013/04/x-default-hreflang-for-international-pages.html https://moz.com/blog/the-international-seo-checklist
https://blogs.bing.com/webmaster/2011/03/01/how-to-tell-bing-your-websites-country-and-language/
https://moz.com/blog/5-dos-and-donts-of-international-seo https://moz.com/blog/hreflang-behaviour-insights
Hope this helps,
Dirk