I've designed some bus powered devices (one pair from a four pair ethernet cable).
I got bus corruption while hot plugging. DE/~RE were connected directly to a microcontroller pin, and that pin was floating just after power up. (uC runs some initialization code).
I had to add a pull-down resistor to fix that issue.
What are you trying to achieve with Q1 and Q5?
Whatever it is, it probably does not work.
For example, you have to pull DE high at the moment you start shifting the first start bit out, and it has to remain high though the whole data byte (or packet), and it should only be released (to low) when the last stop bit is shifted out of the UART.
In Microcontrollers this is usually done by a "Transmission Complete" ISR that toggles an output bit.
I usually do not bother with termination resistors on the PCB. Instead I use a plug with a resistor as termination for the bus. The termination is for the bus, not for the IC's. If you have a bunch of these modules on the same bus, then only the two module's on the far ends of the bus should have these termination resistor. So if you add the resistors on the PCB, then you need some kind of switch or jumper to disable these resistors.
It's also better to put the TVS diodes on the other side of the 10 Ohm resistors. That way the resistors also protect the TVS diodes. You can move a single pair of these resistors to the output connector (That is where transients come from) and then connect A & B of the RS485 transceivers directly to each other.
You can also use PPTC's. This has the advantage of protecting against hard overvoltages. This is especially useful if you run multiple nodes from a 24V power supply and use an SMPS to generate the low voltages for the uC's. (A trick I learned from MikesElectricStuff).
Also, the GND wire is mandatory for RS485. RS485 has a common mode voltage range from around -7Vdc to +12Vdc. And that voltage is from a common reference (A.K.A GND wire).
Without this GND wire, the bus gets loaded by ground currents and these will distort your signals and cause intermittent and hard to debug faults.
Also search around for: "10 ways to bullet proof RS485". It's an old AN, but still a very good reference to getting RS485 reliable.