ST's HAL is so talked about and so complained about precisely because it's pretty good. I can bring up a lot of stuff using their HAL, whereas you should check the similar frameworks from other silicon vendors. They usually are much much much worse!
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.