This is quite a tricky subject. I've been telling my wife about this problem, and we are figuring out a solution as we go. Even learning history in school is a problem. I find this surprising, since the subject is just a matter of teaching about recorded facts, and trying to extract lessons from it. My wife argues that the kids might be too young to get exposed to the facts, and might not build patriotism as a result. I call that false-teaching, which is not only useless, but also counter productive. Our kids deserve to know the truth, be guided to process the truth, and learn from the truth.
The best way indeed is schooling them where they'd get real-life experiences in the workplace and communities.