I'm part of a Stack Exchange site that had very similar problems (Mythology). During the private beta, we had a lot of answers that were incorrect, or that didn't go into enough detail. It was clear that many people were not doing any research, and as a result did not have in-depth knowledge of the subject.
Here are the strategies that we used to raise the quality our questions and answers:
Ask expert questions that require expert answers
The quality of an answer is partially reflected on the quality of its question. If a question is basic enough that it can be answered anecdotally, then it will be answered anecdotally. Ask questions that are so difficult to answer that they require people to do research. Ask questions about unusual situations, so people can't rely on their memory when they answer it ("that happened to me several times" v. "that never happened to me").
Lead by example
Is anyone writing non-anecdotal answers on that site? If no, then someone should start doing so. You can't ask people to write non-anecdotal answers if there are no examples of non-anecdotal answers on your site.
Require (or at least heavily encourage) reputable sources
Requiring sources is practically guaranteed to raise answer quality for a number of reasons:
Answers with sources are much less likely to be incorrect. If you can remember the source of your information, you probably also remember the information correctly.
Answers with sources are much more likely to be detailed. Again, if you can remember the source of your information, you probably remember minor related detailed that are relevant to the answer.
Answers with sources have other benefits as well: witness this exchange on the History meta site:
Is this site an academic source?
My teacher recently rejected the idea of me using this site for a research paper, and I was wondering if you would think that this site could be considered a source.
Your teacher was right to do so. This website would probably be a bad source to use as a primary reference in a paper. Any random moron in the world with internet access is free to post an answer here. (For exhibit A, click my name below...)
However, if there's something that has you stumped in your research, I'd think it would be an excellent place to try to get your questions answered. Good answers here should be sourced with hyperlinks, so it would also (hopefully) be useful for digging up other references that are usable. Use the references we supply to help jump-start your research.
Answers without sources are going to be useless to experts (specifically experts in academic disciplines), because they won't be helpful when doing academic research.
The risk with requiring sources is that you disallow the kinds of answers written by people who have lots of experience in a topic but who didn't learn about the topic in an academic setting, and thus don't have any written sources for their knowledge (e.g. textbooks, papers, etc). I have two things to say about this:
A "source" could be a picture, a section of code, or a video. To use the example of the DIY Stack Exchange, part of writing a well-sourced answer could be taking a video of a technique, and using that video to back up the answer.
You don't need sources in real life, because you know how much you can trust a person giving you information. For example, if Professor
X from Harvard University says
y, you can probably assume that
y is true. Unfortunately, this approach doesn't work on the internet. Someone who says "do
y: you can trust me because I have ten years of experience and I'm an influential person in the subject" could very easily be lying.
One solution would be to verified users' identities, and highlight the profiles of "experts" in some way. Unfortunately, Stack Exchange is philosophically opposed to this. This leaves sources as the only way to verify that an answer is accurate.
Experts will not participate in a non-expert community
To address the first part of your question ("attracting more users who can contribute high-quality answers")...
You will not be able to attract experts if you have beginner level content. Think about it: if you are an expert in a field, you want to learn from other experts 1. That means participating in communities where there are other experts. If you don't have any experts (low-quality answers is an acute symptom of having no experts) in your community, then you won't attract any experts. What you need to do is raise the quality of your answers, teach your contributors how to do research (so they can learn and become experts), and then promote the community to other experts.
Quantity over Quality
We'd prefer to help the users who are posting the speculative, anecdotal, answers to do better; I'd rather they improve their contributions than go away. People already leave constructive comments and downvote (not enough of the latter, but some) on individual answers; I'm looking for things we can do at a broader level. Ideally I'd like to intercept these answers before they are posted -- that is, find a way to help users think about what's really needed and then do that.
That's unrealistic for two reasons:
You aren't going to reach everyone. Some people are incapable of writing good answers, no matter what you do. You have to focus on reaching the people who can.
You might not be able to reach users before they post answers. Most times people learn best by posting an answer, receiving comments and downvotes, and trying again.
You are probably going to loose people (and activity) if you make your site more expert oriented. You need to ask the community: is this a trade-off we want to make?
1 No, most experts do not want to participate in communities just for Fake Internet Points™ or the joy of hoping beginners. Experts have limited time available: in most cases, the only way they can justify spending time on a website is if it helps them (whether by advancing their career, by teaching them about things they didn't know, or by helping them become a better expert).