Прежде чем использовать какую-либо «архитектуру» проекта, нужно задаться вопросами: зачем мне это надо? какие проблемы этим я смогу решить?
Поучаствовав в работе над несколькими проектами можно прийти к общему пониманию оптимальной структуры нужной вам.
На этом этапе нужно понимать, что не бывает идеальной архитектуры, все зависит от ваших предпочтений, инструментов, которые вы используете, команды в которой вы работаете и вашего текущего уровня знаний.
Если нет понимания зачем это нужно, не стоит так усложнять архитектуру проекта, конечно можно использовать пресловутый БЭМ, который как бы уже является для многих стандартом (либо SMACSS, либо еще что-то), но опять же, не все может быть там полезно. В том же БЭМе много условностей актуальных только для очень крупных проектов.
Поэтому решением вашей проблемы будет искать и строить архитектуру проекта конкретно под себя, тогда вопрос о непонимании уйдет сам собой.
Конечно если вы работаете в команде у вас может и не быть таких возможностей, ну и тогда архитектура проекта будет строиться уже относительно интересов команды.