I partially agree with what you say, but I believe the problem and thus the solution lies elsewhere. For me the problem is that for the community all questions are equal. An upvote on a question is an upvote on a question no matter what the question is. So my top answer is answering How to reverse a C++ vector?How to reverse a C++ vector?, took me two minutes, and has 33 upvotes so far. On the other hand I have some answers that solve or explain way more complex things like one where I show the difference between a trie and a radix treetrie and a radix tree. Took me much longer and has 0 upvotes.
So a problem I see is that repution mechanism does not take into account the level of expertise required to answer a given question. If there was a mechanism to give higher reputation bonuses for more complex questions, the problem you have with "sprinters" would also be solved - they may answer as many as they want of the simple questions really fast, while you can take your time and answer a single more complex question while still gaining the same reputation bonus.