So what we're left with is basically as you say: Criminals will carry and break the law. Law abiding citizens, who try to do the right thing, end up not carrying half the time because of the STUPID restrictions on concealed carry. Finally, the second part of the otherwise law-abiding citizens will carry and break the law. Of course, when they are caught, they will be prosecuted and then, they too become certified as criminals.
Best PRACTICAL solution: Once you pass a background check and prove proficiency, you get a license to carry everywhere that a peace officer carries when on duty.