Might be worth changing the "gain" FETs (the ones connected to the logic gate outputs, which produce the full gate drive voltage swing) to BJTs, using an emitter degeneration resistor to limit current. Instead of driving directly from the logic gate, you might also want a base voltage divider.
This turns it from a MOSFET, which can draw huge currents -- enough to destroy itself, if the gate node voltage doesn't pull down, as might happen during regenerative braking -- into a constant current sink, which gently tugs down on the gate node, pulling it down if it is able, but not trying to force it to 0V.
To increase speed, you can replace the pull-up resistors with current sources. A similar circuit would be used: PNP BJT from +V (where +V is the gate drive supply, so, the bootstrap supply for the high side cases), with series emitter resistor, and base voltage divider. (Improvement: instead of a base voltage divider, use two diodes in series to set the base voltage to 2*Vf.)
I don't suggest attacking a full current circuit. Gain experience with protection mechanisms first. You must have current sensing, and current mode control, otherwise your bridge will randomly explode itself from a bad load condition (say, a wire comes loose and momentarily shorts the motor terminals).
You will quickly find that, once you've implemented these features, your motor controls more smoothly too, and you can add additional controls to regulate voltage or speed, or control the rate of change (acceleration and jerk).
Needless to say, the main battery must be fused, too!
It is not practical to design a single stage for more than about 50A. To push more, you need to view the circuit as many individual inverter circuits in parallel, including bypass and snubbing components
on each unit. If you don't know where these things should go, make that 20A, or even 10A, instead.

Tim