Hi,
1. When you turn on the "Use Canonical URL and generate..." setting, HikaShop will use the canonical URL that you set in your products, always.
If you didn't set any, then the first time it has to display a link to the product page, it will generate it, like it would do normally and then store it as canonical URL.
So if you have your module display the link before your menu, it's normal that you get the links you don't want as canonical URLs.
In that case, empty the canonical URL links, disable the module and browse your menu item.
Then enable again the module.
2. There is no automated system for that.
3. Yes. Two ways:
- use a URL alias system of a SEF extension like sh404SEF.
- configure the main menu item of your website (on your homepage) as a HikaShop category or products listing and use the URLs of that menu item as canonical URL. As the main menu item, the alias of the menu item is not used by the Joomla SEF system.