In short, this is a limitation in Core. Not everything has a machine name, and thus cannot be reliably exportable. Perhaps by D8's release everything will have UUID or a similar solution, allowing us to solve this. Then again, it's not a "magic bullet", as it comes with it's own set of issues, which is why we still have this problem around.
I have a question over here that revolves around how to handle this problem. There are no perfect solutions, but you have some good input over there.