In any missing data situation the first thing to ask is why the data are missing. There are three types;
Missing completely at random (MCAR) - this means that the missing data are a totally random set of the data. This rarely happens unless there is some sort of mechanical glitch
Missing at random (MAR) - this means that the missing data could be a non-random subset of the data, but that the non-randomness can be completely explained by variables that are in the data.
Not missing at random aka nonignorable non-response (NMAR) - neither of the first two.
If it's MCAR, then the only thing lost by deleting the data is statistical power. If MAR, then the usual approach is multiple imputation, to account for the variance in single imputation regression imputation
If the data are NMAR then, technically, nothing will really work. However, multiple imputation may still be a good choice. Joe Schafer said (informally; he gave a talk at my old workplace and this was in the Q and A) that MI works well unless the data are "really NMAR".