If you have low recovery, small changes have large effects. Matrix matching of standards helps. But understand where the losses are. Variation in losses results in variation in results. Also, look at the recovery of your internal standard. While it is selected so that losses are similar to those of analyates, you do not want to lose any, if you can help it.
For measureing recovery from in the precipitation step, you can extract the precipitate, add a recovery standard and inject. I would suggest take off the supertantant, add a recovery standard so you can estimate how much you take off. Wash, centerfuge, separate and spike to see how much is left. You can expect a small portion to be carried into this next faction, as the methanol can not be transferred quantitatively, but you can estimate the fraction of methanol moved in the first separation and you would expect a proportionate quantity of analyte to move with it. If you have a disporoportionant quantity of analyte in the second transfer, you have binding of analytes to the precipitate and need to address that (here is a case where recovery will hurt you. variing quantities of precipitate will result in varuing quantities of bound material - high recovery makes this a non-issue.) The sum of material in the two portions should add up to close to 100% of material present. If not, it has been lost somewhere. For an internal standard, this is not good. Try for recoveries of 95% or better.
The use of a sulphuric acid column for removing lipids will be a problem in looking for dios. A sulphuric acid column will dehydrate a diol - and destroy it. Bad for recovery.
The amino column might work. Clean up technique would depend on anticpated sample load. If it just a few samples, I would look at using a GPC column and use it for a preperative cut to eliminate the lipids. If you have large numbers of samles, there would not be sufficient capacity.