Create an invisible sprite "A_Drag" (same size as sprite A) with Drag And Drop behavior.
Remove Drag And Drop behavior from sprite A.
So when player drags that invisible sprite A_Drag, on every tick set A position to A_Drag, but only if A_Drag is not overlapping other sprites.
I made something similar for another post:
(see how green box can be dragged far up, but slider movement is limited by blue bar)
Here is another example:
Again, the green box can be dragged freely, while the car movement is restricted.