At which step should I apply a detection filter when preprocessing microarray data? (Before/After normalization, batch effects removal)
My comment above still stands; provided your detection filter doesn't rely on your data being normalized, your detection filter can exist anywhere. 

However, since it seems you know that you want to run a PCA, and know all the normalization's you'd like to try already, it is simplest to run all of your normalization first, that her than having to filter out high scoring vectors that appear to be caused by inter-sample variation.