We can provide you with 2 types of API so you can test it. You can have FIX API from CTS-T4 and C++ and C# from Rithmic. Rithmic also uses R Protocol that could work with python. This is for Futures. Please PM if you need a trial.
WebSockets are magnitudes slower than native sockets (I think 100x last I checked). Why not have a proper socket interface?
Not accurate, clients don't need any fix server. Brokers offer servers. Clients need to get certified by exchanging fix messages with the broker but no server is needed on the client side.
Having used FIX for a while I can attest to the fact that brokers use completely different fix messages despite some brokers claiming to use the same version. There is a lot of work involved to get Fix messaging right with each individual broker. Adding a new broker and setting up FIX is most often not a trivial task.
Purely latency wide Fix is slower than a very high performance C++ Api. That is why most hft houses use the direct C++ APIs offered by exchanges and don't use FIX. But Fix is still easier (not trivial) to implement than having to target the entirely unique non fix api each broker offers.