That's also why there are so much alternatives of MV(VM|C) platforms out there.
You can ask yourself a couple of questions when you start your project that will help you what framework will best fit you :
1. Is it a huge single-page app that needs client-side url handling?
2. Do you have plenty of DOM manipulation?
3. Are you going to have a REST API backend?
4. Do you plan to support IE 5. Do you plan to use jQuery or plain ("vanilla") javascript will be your DOM manipulating library? ( Actually this one is also a question that should be answered, considering your application requirements ).
When answering all of those you can have a second round of questions :
1. What you and your team are experienced in.
2. What is the current market of developers and the popularity of your framework? ( people that have experience with Knockout are less than Backbone experienced ones - e.g. ).
That will give you not only the best alternative framework to Angular, but the right framework for your project.