I myself have rarely considered this a problem. The workspace would anyway be overwritten by the next build, so it is better not to trust it's existence or contents.
If I need to debug a problem with a job, I either:
* Disable the job to prevent next build from overwriting the workspace or
* Configure the job to archive necessary debug logs and later access them via build artifacts.
If you really need to preserve the full workspace for your builds, you can of course tell Jenkins to archive every file in the workspace as build artifact or use
https://wiki.jenkins-ci.org/display/JENKINS/Clone+Workspace+SCM+Plugin. This will be slow and might use a lot of disk space.
-- Sami