It???s not that ARM is a mess per-se, it???s more that ARM doesn???t have a standardized BIOS in which to initialize the system to a ???known state??? before booting the OS. Since the manufacturer knowns where their SoC will jump to on boot and what state it will be in, it makes it a lot easier for them to make an image for their own hardware.