I may be wrong but I think you only pay duty if the fabric isn't manufactured in the US. And I'm guessing if you're ordering batiks, they likely weren't manufactured in the US. I'm not sure how Canada Customs would know that unless it's marked on the package.
I've ordered from the US a few times and occasionally had to pay GST and the $5 fee Canada Post charges to collect it, but I've never had to pay duty.
It's probably worth taking a chance if the price is really great. Where are you ordering from? I could use some more batiks! ;-)