I think people are upset because the temporary foreign worker program is often used not for specialized skilled labour (like the manufacturer is claiming) but instead for low-skill, low-wage jobs to just reduce labour costs.
I think there's a simple way to fix the program and make it work for its original intention - set high minimum wages for temporary foreign workers (TFW) above the median Canadian income (ideally you could set this by industry and skill level, but then it's less simple). So now your local Wendy's isn't choosing between hiring locally at $20/hr vs. a TFW at $15/hr, but rather hiring locally at $20/hr or a TFW at $25/hr (numbers made up). If there's an actual shortage they'll still have access to workers, but they'll be incentivized to hire locally first.
This works especially well for hiring skilled and specialized workers you can't find in Canada - like the manufacturer is claiming. Because they're so skilled and specialized they'll likely already be receiving a good wage, which means that the minimum wage threshold is already being met. A rule like this would essentially keep the program available for its legitimate cases while eliminating the abuses where it's used to save a quick buck.