I don't think ST's HAL is that good, but I agree that the software support from other vendors is much worse, which is why I actually prefer to use ST microcontrollers.
Writing your own simpler and more efficient code is much more easily done by editing the libraries and examples provided by ST, than from scratch.