I think the original circuit isn't really that bad. I'm not sure what's causing the ringing, I got much better results with my DIY amp below. Perhaps some manipulation with C1 or R2 would solve it.
One thing you certainly need to do when driving inductive loads with BJTs is to add catch diodes (D7-D10 on my schematic). This is regardless of whether it's a DIY discrete power buffer or some audio amp IC (unless it uses MOSFETs and is rated to withstand backdrive). Reason is, when drive is turned off, the inductor will still try to conduct and it will pump current into output capacitance of the switches, slamming them against the opposite rail. See my sim when direction is reversed. This current needs to be allowed to bypass the transistor and flow into supply capacitors, otherwise B-E junction will be destroyed by reverse voltage.
Not sure what's the point of R1 in your schematic. Not sure if R5 really helps against crossover too, that would need to be solved by biasing the output trannies which is a PITA. You probably don't care, it only is a problem during transition from sourcing to sinking, not in steady state. It only is a short blip of distortion, which may not even be visible due to the massive filtering effect of load inductance.
Finally, yes, I have simulated the solution I mentioned yesterday, using one HV rail and a single differential amplifier to kill three birds with one stone:
- compare floating current sense (two shunts are used and their output averaged) with ground-referenced drive signal
- amplify the high voltage swings needed to drive the load
- generate balanced, complementary load drive and maintain load in the middle between supplies
Sadly, I'm not aware of any off-the-shelf chips that do that at 100V. So I made a discrete version with a few 150V BJTs and power darlingtons. I suppose you won't bother building it so I'm not attaching ASC unless somebody asks for it.