For those writing largish non-trivial apps its essential to separate concerns for maintainability and testability. Controllers and UI logic get separated from domain logic and your Model layer. $scope is no Model layer.
It seems more meant ot be used as a caching layer that would wrap you webservice access services.