A possible solution to performance degradation is to make a program that would be aware of the internal wear leveling algorithms of the SSD in question and would be able to tell the drive which cells do not contain valid user data so it could go ahead and do the erasing whenever you want it to and not right before doing writing operations. I believe Intel is working on something like this, but it seems like they aren't having too much luck. Programs like this would be SSD specific for obvious reasons... There won't be one program that will support all SSDs.
Maybe M$ could do this on OS level? I don't think it is anything an end user should be concerned with. In Intel is probably trying to this on firmware level...
But it does sound logical... cells marked for deletion should at least be deleted when the drive is idle... Something like reverse of write back caching - cache the info on what cells need to be emptied... and empty them on idle time