Your measurement is a classic manifestation of the difficulties involved in measuring high currents. It has two parts. The negative portion of the curve arises from the flow of current through the ground traces of your system. The apparently high amplitude comes from the inclusion of extra PC board traces in the current path which you're measuring. What you need to do is make a differential amplifier with gain
simulate this circuit – Schematic created using CircuitLab
There are a few things to consider.
The most obvious is that you need to monitor both sides of the bridge. In your original circuit, you could have a short in M3, and the MCU would never know it. Unless you've duplicated your sense circuit to provide a second MCU input, that is, but there's no need for the duplication. Apparently you just want to sense an overcurrent in the motor, so a single measurement will do.
Note that the op amp input resistors connect directly to the shunt terminals. While there can be appreciable trace lengths from the shunt to the resistors, the tie point has to be at the shunt itself, not some distance away. That specifically means that, if you're using an SMD shunt, you must connect the op amp resistor traces directly to the shunt pads, not to a via. Take a look at the resistance of pc traces, and figure how much length it takes to get parasitic resistances on the order of your shunt value.
The other change is the considerable reduction in op amp resistor values. For an op amp this fast, you need to keep resistances low to reduce the effect of parasitic capacitances. Although, as Spehro has pointed out, you also need to change op amps.