Even if we make many small stories, we still end up splitting stories at the end of every Sprint because we cannot have Development under-utilized while QA is testing, and we cannot have QA being idle waiting for coding changes to test.
So there are always at least three stories (we have three developers) and two QA tests (two testers) unfinished at the end of the sprint.
How do others handle this issue? How do you keep your team continually working at top efficiency without splitting stories?