In my experience, there are two major kinds of QA staff: those who simply follow a written script and interact with an application in an effort to find edge cases, and those who can actually write automated testing code themselves, and seek to find new and innovative ways (fuzzing, Selenium, writing API clients) to break the dev team's code.
If your QA team is made up primarily of folks of the first type, then a 1:1 ratio or better vs. your developers is probably a must. Otherwise, they'll struggle to keep up with any new features introduced by the dev team, and will often resist any changes made to the product, because it further complicates their testing workflow.
The latter type (i.e., test engineers who can code), on the other hand, are a godsend to any productive development team. The coders can communicate with them as peers, and the testers can find useful ways to automate and improve their own processes by writing smarter and better-abstracted test harnesses and utilities. One really good test engineer can probably support the work of 2-3 developers, especially if those developers are already writing useful unit and integration tests themselves that the tester can use as a starting point.