I think that Canada should charge US Citizens and Green Card holders a reciprocal fee 10 times what the US charges.
Considering that the steady trickle of 350 million travellers a year creates a $150M in stimulus for the American economy, a border crossing fee that discourages visitors would be bad news for a hungry economy.