I think what we're looking at is a question of this being efficient versus effective. The efficient system we have now is a fairly low-cost system, and it's efficient because there's no appeal. A visa officer can quickly check off the boxes for insufficient ties to home country, for concerns about finances, and for having never travelled abroad, and quickly issue the refusal, erring on the side of caution, as it were: it's better to keep out even one potential visa overstayer than grant visas to 99 legitimate applicants, to turn the traditional logic on its head.
In order to have an effective system, you have to put more resources into it. There are a lot of different ways that it could be configured. There could be the option for an interview in the case of every refusal. There could be a beefing up of the back end in terms of exit controls and CBSA's resources to deal with visa overstayers and other concerns. Those kinds of details require a more thorough policy analysis.
But I think we have opted for efficiency. We have a very efficient system. It's fair to no one. It frustrates very many people. But it's not an effective system.