I'm not sure how things have changed yet either, and I certainly think Device Tree is an important step forward from each and every board having its own (mostly identical) code in the kernel tree.
But you do still need the dts, so while it makes device support easier, it doesn't solve the problem of discoverable hardware and you still need board specs etc, either from the original manufacturer or reverse engineered.
I wish you the best of luck in convincing MS to make it easier to install linux on their phones, and convincing embedded system builders to spend extra on hardware.
Either way, I was talking about what we have now, and even if we have device tree now it doesn't solve this problem without other pieces to the puzzle. And that's without even getting on to the mess of closed source graphics drivers that exist in the arm world.
Please don't think I'm trying to say we can't have a situation like the OP wants, I'm just trying to explain why we don't.
I thought Linaro was a consortium to do exactly that, minus the Microsoft part. As you say this doesn't help us now, but hopefully some day there will be a widespread ARM equivalent of the BIOS and UEFI. It will probably start (or has started?) with ARM servers.
https://lwn.net/Articles/560523/ https://lwn.net/Articles/561462/