Agreed. STP prevents problems, it doesn't cause them. If somebody thinks STP is causing them a problem, their problem is a problem of design.
Document your existing topology by identifying every active port and what it connects to. Draw a diagram.
Now, from that diagram, identify a subset of your existing topology that consists of a loop-free topology that optimally supports your traffic flows.
From your loop-free diagram, identify the switch that will be STP Root. Alter its STP priority down to, say, 1.
Identify your second optimal Root and give it a priority of 2.
Now, go through on paper how your spanning tree topology will establish, starting with the root. (refer to the rules of STP to make sure you get it right). Identify each switch's uplinks and ensure that on paper they all enable or block as required. Consider using port priority if you need to.
Now, on your live network, enable MSTP globally, configure all switches with the same region name.
Get on each switch and view spanning-tree to confirm that interfaces are all blocked as per your preparation.