Названия компонентов отвечают только за то, чем они являются/какую роль выполняют. Зачем перекладывать на них описание структуры, с которой хорошо справляются директории?
Композиция компонентов как раз и ложится на иерархическую структуру директорий.
Если компонент B используется только в компоненте A, тогда В и должен быть вложен в директорию, в которой находится A. Если компонент C используется и в A, и в B, тогда его можно вынести на соответствующий уровень в shared директорию
Например
/src
/components
/Header
index.vue
/ Main
/Sidebar
index.vue
/shared
index.vue