We use PXE and SCCM for Windows deployment and management. And DeployStudio for OSX deployment and management. SCCM now does limited OS X management as well, but it takes a lot of configuring to make it work. DeployStudio also works with Windows/Linux. But is limited on how much it can manage Windows/Linux.
But deploying hardware independent images depends more on how you prepare the images, as opposed to what deployment option you use.