This is not a problem with android or google. The only way you can avoid this update problem is to convince ARM SoC manufacturers to standardise their SoCs instead of cooking their own soup every time. I think this is never going to happen.
Apple doesn't need to standardise. They can get away with just supporting their own devices.
Even if the SoCs are standardized and drivers are updated, do you think the manufacturers have any motive or incentive to provide updates to the customers for older models? Most of them sell phones for low prices at very thin margins or at a loss and rely on releasing newer models more often to keep up sales.
Even with standardization, hardware differences will necessitate testing on older devices. That does not come for free for the manufacturers, and it has been, and is seen as, an entirely avoidable and unnecessary expense (which is one big reason they don't provide updates for a longer duration right now). Are the majority of customers even capable of dealing with rooting the phone or flashing it with some un-tested firmware? The phone makers and customers are used to not having updates for a long time, and neither of them really care (if you look at the majority non-tech crowd). Why or how would all these other dynamics change just because SoCs get standardized (if that happens)?
If one get the driver side sorted, it will be easier for Google to push for a scheme similar to Windows.
On top of that Google could implement a standardized UI themeing system, allowing companies to give their products a distinct experience without having to muck with the code as much.
Apple doesn't need to standardise. They can get away with just supporting their own devices.