my understanding is that this was initially done to show the workers that the government does something for them. it's supposed to make the workers say "i'm buying government services with my taxes, so my taxes are justified". instead, it tends to harbour resentment in the working class, which misunderstands who is paying the tax and thinks it's getting ripped off. this has backfired and should be undone.
the only deduction on a pay check should really be for public pensions. income taxes should be shifted to employer taxes, instead. it's a trivial accounting shift that only happens on paper, as employers are the ones that truly pay income taxes, anyways. you'd do this by asking employers to pay a kind of head tax based on the number of workers they employ, and the number of hours those workers worked. if the employer pays out x number of hours of labour at n % income tax, it would pay x*n% in taxes. it would need to file that with cra at the end of the year, and workers would still need to send their stubs in to verify their hours worked, but the actual taxes would be done and paid for by the employer, not the employee. tax credits would work functionally the same way.
this would lead to stagnating or declining wages (not real wages, though.) for a while until it balanced out, but you would hope it would lead to more positive attitudes in the working class about the value and function of government services, in the long run.