Not neccessarily helpful for Altium, but ...
Orcad will do this automatically for you during silkscreening, and it can also attempt to move the text to where it isn't violating clearances. Neither option is without its drawbacks; the first option (which is what you want Altium to do) can result in incomplete Refdes information. The second option could result in a Refdes located in such a position that you're unsure of its target, (or even worse, appears to be for a difference component entirely), so the second option is to be avoided if you have densely populated areas on your board.
Orcad can generate a report with links on any silkscreening which violates clearances; clicking on the link centers/zooms in on the offending silkscreen.
I've eventually settled on doing a first pass and adjusting the component refdes silkscreens manually (don't even bother with the autosilk at first), then showing the component & autosilk layers with a different color, and then running the autosilkscreen operation. If I see components where the colors aren't in the autosilk layer, it means that Orcad moved it to avoid something. I then rearrange only those component refdes silkscreens and rerun the autosilk operation and iterate until I don't see any moved refdes indicators. Then I run the audits to see if there are any violations on the component body silkscreens. (I usually don't fix these violations unless its something that removes a Pin 1 marker of some sort)
I mean, yes, the board house SHOULD remove the violations automatically (and Orcad can do this for you) but you run the risk of your silkscreen layer not correctly doing the only job it had to do for you.l