How can I let users create new drafts for *existing* content?
We use the Workflow module and have found it to be pretty stable, and we use it exactly as you have described, to allow a content person to edit content, then for an admin to approve it. 

Configuring the workflow module is a bit complicated, but it is worth doing as it will provide you the functionality you need. Generally it has the following steps:


Install the workflow module.
Configure the workflows:


Create a new workflow.
Make some states.
Assign the workflow to a content type (the tutorial below calls it a node).

Set the permissions for each type of user to use each state of the workflow.


Creating a Workflow for Drupal Users contains a good tutorial.