Figures! I came up with my own solution just this week and you’ve already done it 🙂
Anyway, what I had come up with isn’t too far from what you’ve already done, except that I use Apache for the back-end and I have added support for mobile phones.
The mobile phone support was important to me, since I am using a different themes for those, which aren’t cached. I would post it here if it wasn’t such a long line (I’m checking for more mobile browsers than WP Super Cache does), so have a look at:
Just take that code that checks the user-agent, place it among the other “if .. set $supercache_uri” lines as shown here, and instead of ‘set $mobile “M”;’ you use “set $supercache_uri ”;”. Don’t forget to disable it in WP Super Cache itself 🙂