In my ideal world, I'd download (say) Android 4.4 and install it on my phone. After that, I'd hunt around, download and install the drivers for my phone like mic, camera, gyro, etc.
Why is this not possible already?
Also you have to keep in mind, the driver situation in the embedded world can get dark fast. Manufacturers wanting to keep datasheets secret, drivers that are just pass-throughs so user space daemons can write to hardware so they don't have to comply with the GPL. It gets weird fast, and why bother with that mess if it won't win any more customers than just a few hardcore hackers and power users.
ARM's architecture is still quite firmly stuck with the embedded approach where you get your memory map and peripheral availability at compile time, probably by reading addresses from a manual published by your SoC manufacturer. Usually at early boot there is nothing which will tell you where your RAM is, what peripherals you have and where they are, etc. You either just have to know, or have some non-standard configuration mechanism which tells you.
Things are improving, but slowly. ACPI exists for ARM and is being actively worked on, but isn't widely deployed yet.
In contrast, ARM SoCs are extremely diverse, and the only thing they all have in common is an ARM CPU core. There is no one standard for where the peripherals are, how they behave, how the SoC boots, etc. There is no "standard platform" for ARM like there is the PC for x86. The closest "de-facto" platform I can see for smartphones is the Mediatek MT65xx, which is used by the majority of the generic Chinese ones (and some branded ones, like Lenovo).