1. В настоящем проекте о маршрутах будет думать SEO.
2. Да. Атрибуты мусорят код, сложнее искать, лучше держать в одном месте. Да и вообще в плане атрибутов, лучше поменьше их использовать, сначала подумать над всеми вариантами без атрибутов и только в конце сравнить и оценить целесообразность их использования.
3. Ну здесь лучше так, чем писать голый хтмл, хотя в итоге и будет тяжелее.
4. Считайте, что атрибуты зло. В том что максимально простыми должны быть, это да, стараться использовать стандартные механизмы, если надо вернуть Json, используйте JsonResult (хотя в конкретном случае его возможностей может не хватить, но только в этом случае стоит использовать что-то другое). А сама логика естественно должна быть отделена и быть независима от веб, ничего не знать о веб и т.д.
5. На стороне клиента по желанию, на стороне сервера обязательна и маниакальна. Придти может всё.
6. Верно, только код который отвечает за отображение и никакой логики.
7. Ну свой биндер делать стоит, если не хватает стандартного механизма, но как не сделайте, всё равно придется создавать новый объект.
8. Лучше вообще никогда не использовать, усложняет понимание кода, усложняет поиск ошибок и т.д. Тут от ситуации конечно многое зависит. Но я бы сделал либо через агрегацию или наследование. Возможно сервис или еще как-нить.
9. Не совсем понял вообще о чём вы.
10. Ну тут всё зависит от шаблонизатора, можно и не Razor использовать. никто не запрещает.