As long as Google forbids OEMs from producing both FireOS and Google Android devices, I can’t buy a CyanogenMod device from Motorola, or similar.
And no, I don’t think Google should be able to hardcode any of their services into Android – instead each service should be provided via a standardized API, so users can select defaults (like it already is done with many apps on Android).