I need to batch replace the white background on several thousand images. Is there a better way of doing this aside from setting up an action, selecting the white background and filling in colour?
Chances are "No" unless all the images contain the same subject matter. It's nearly impossible to batch remove a background if the edges of the subject matter are different.
That is unless you've got some standardized off-color background color, like a green screen which will never actually be in the image subject matter itself.