I'm a Christian but I have never believed that non - religious people are horrible with no morals. I've always said that I care more about a person's morality over religion. Morality and religion are NOT synonymous.
We need to teach critical thinking and logic in school. Yes, too many people would still shun any logic or evidence that didn't support what they want to be true, but it would surely be a step in the right direction.