I'm fairly new to Ember, and came to it after getting frustrated with Angular.
I agree with a previous commenter, that Ember suits large-scale apps more than Angular does. I first went with Angular for a SPA I'm developing because of all the reasons the OP indicated. That "backed by Google" sponsorship is powerful! And yes, I did hit the ground running with Angular, but once I'd gotten past a very basic implementation of the app I'm developing, things like $scope soon started to trip me up, and I found that the myriad ways to accomplish something were very confusing, and frustrating.
That's when I took a look at Ember, and loved the opinionated nature of it. Furthermore, it was familiar to me coming from a Grails (Groovy+Java) background. I guess this is due to Grails' common semantics with Rails. I've been using Ember since then, and while I do agree, the learning curve is steeper, knowing that my MaintenanceVehicleRoute will need a MaintenanceVehicleController and a MaintenanceVehicleView is really convenient. After all I want to focus on the business need I'm solving, not on the technology as much.
The place where I find Ember confusing is as a previous commenter hinted at - how the Route and Controller and View link to each other. Actions can be defined in a view, or a controller, or a route. I'm not sure this is helpful in the long run. The guides are great, but I find myself doing a lot of additional Googling for the edge case type of stuff. Having the Discourse app to refer to is great, although it is quite overwhelming to a newbie. It does however lend weight to the fact that Ember can be used for large-scale SPA's. This is a good thing.
Just on the issue of preference for Rails. That may be true but as a Java/Grails developer, I'm finding Grails to be an excellent back-end for my Ember app. Grails has an Ember templates plugin, which together with the resources plugin for Grails, make a perfect means of compiling your templates and JS files into single downloads. Grails REST support also means I can create Grails controllers that extend the Grails RestfulController and all the code inherited from RestfulController is immediately available to me. I don't have to write anything to be able to GET/PUT/POST/DELETE to my hearts content. So for any Grails developers out there, Grails works really nicely with Ember in that regard.
One caveat is that I backed off of using ember-data. As it says on the tin, it isn't production ready yet. I also found the fact that createRecord() immediately created a record in my store quite confusing. In Grails nomenclature, when you create a domain object, it's only "in the store" when you save it. Until then it's kinda like any other POGO, just with some extra convenience methods tacked on for CRUD operations. That's an anecdotal example, but that, together with it's bleeding edge disclaimers was enough to scare me away. I'm currently finding the best experience with ember-restless.
How to make Ember better? Somehow the learning curve has to be shortened and flattened out. Clearly the Ember guys have put a lot of effort into the guides and the API, but they're just not as complete yet. Unfortunately I can't comment on how best to improve on that. I'll probably have a better idea once I understand Ember more fully.