I suggest dividing the image into separate areas, each of which occupies the space required for the text overlay. Calculate some measure of visual “energy,” for example, standard deviation, and select the area with the smallest value. You can also slide the window around looking for arbitrary low energy space, but that would be a lot more expensive to calculate.
Predictor
source share