I do not believe negative values will help differential expression analysis in any way. Monocle actually provides functionality for dealing with things like batch. In many of the functions, there is a parameter called
residualModelFormulaStr, which allow you to list any covariates for which the statistical modelling should be adjusted.
A model formula string specify effects you
want to exclude when testing for cell type dependent expression
So, for example, for a differential expression analysis, use:
differentialGeneTest(cds, fullModelFormulaStr = " ~ condition",
reducedModelFormulaStr = " ~ Batch", relative_expr=TRUE, cores=4)
Take a look at the Manual and Tutorial.