I had a similar problem the other day, where updating a large number of records was unacceptably slow. My solution was to leverage mongo’s bulk operations.
Do you use simpleschema or collection hooks? That forces all bulk updates to be transformed to individual updates so that each updated document can be cleaned individually (or so the proper hook can be called on each individual document).
This will skip SimpleSchema. I didn’t actually test it out, so it might require some tweaking. @cereal’s approach would probably also work the same way.