You could place your buffers where you want, even if it's over a blockage, then call refinePlace to legalize the placement. You will have to check afterwards that your buffers didn't get moved too far away from what you want. (But refinePlace should snap the buffer to the nearest legal location.)
I suppose there might be a way to check for blockages under the coordinates where you're trying to place your buffers, but I can't think of a quick way off the top of my head. Maybe some of our script gurus have an idea for that one!