Optimization around static cursor use
There's really only a few things that I can think of that might help here, without actually changing the cursor code:


Make sure that your tempdb resides on different physical drives from your database files.  This won't make the temp/static rowset any smaller, but it will make it faster.
Adjust the CURSOR_THRESHOLD configuration setting:  This is a tricky thing and not normally recommended, however, it can have a big impact on this very situation (just not always a positive impact).  My guess would be that you'd want to adjust it from the default of -1 to something like 1000.  But play around with it, and be careful, as it's server instance-wide and can affect other things as well.
Plan Guides:  I think that you need 2008+ for this, and I am not sure if it works on cursor SELECT's.  They are also complicated to use, but if they do work, they can really do amazing things to a repeatable query that is using sub-optimal query plans.


That's all that I can think of ...