Good day MozAddict!
SEO for Magento is near and dear to my heart. From a technical SEO perspective, I would recommend cleaning up the items you mentioned as it can cause issues. The biggest concern is trust flow and having trust split between two versions of the page (ie: the slash and no-slash).
So both the 301 and canonical tag will pass the same amount of trust as the other. So your question is, which do you go with? I think both are fine however I prefer the 301 myself for dealing with the trailing slash issue and here's why.
As time passes, believe it or not, people will link to some of your pages naturally. Because a canonical or 301 doesn't pass the full trust earned from the link, I'd rather someone link to the correct version. If I'm using the canonical tag, they may indeed link to the non-preferred version and I would lose some of that trust, whereas if I am using the 301, they will automatically be shown the correct, preferred version and I earn all the trust from that natural link.
Moz has a great article on canonicalization if you want to read more on it.
Hope this answer is useful to you!