I agree with the OP, with the condition that there is some relative common sense used.
If a bag is 2 mm's over the limit, or .2 pounds, that's probably ok. Some may say it's a slippery slope, but if they use actual common sense, it seems ok. With that, passengers should also at least be aware of what the rules are, and try their best to stick to them as written.
But I have seen customers with severely oversized carry on's, or more than 2, and they should be sent back to check. Of course, part of the problem is check in agent's or security personal have their own, what seem like made up rules sometimes. Perhaps CATSA/TSA can prepare a one-pager, so that when a customer is told their bag is oversized or overweight or they are carrying too many, there is proof right there. In the forum's of some of the US carriers (UA and AA comes to mind) there were some gripes about having personal outside security that were checking bag sizes; I personally have no problem with this idea, given the common sense I've listed above.
Another part of the problem is of course the non-status people who are trying to carry on as much stuff as possible to avoid check in fees. I am no nonesense about this - I say that if a passenger is found to have a bag that exceeds carry on regulations at the gate that they are trying to bring aboard, not only should they incur a checked bag fee, but also an additional penalty fee. This of course would only apply if the bag didn't meet set requirements, not when bringing aboard a bag that meets requirements, but there isn't room for. It's unfortunate when a carrier tells someone that they can check a bag for free at the gate when they have been trying to break the rules all along.