Я определенно рекомендую иметь папку с третьим лицом или вендором в каждом из ваших деревьев проекта. Если вас раздражает наличие 32 копий пакета rhino-tools, вы можете иметь одну копию этого в своем хранилище кода и делать внешние ссылки на него в дереве своего проекта.
Допустим, вы используете SVN, вы можете создать репозиторий под названием "liberts", в котором есть версионные копии библиотек. Затем вы создаете внешнее свойство в своей папке "thirdparty" в дереве проекта, которое, в свою очередь, автоматически выполняет проверку ваших централизованных сторонних библиотек. Таким образом, вам, например, придется обновлять только в одном месте, если выйдет система безопасности или исправление, но каждый проект все еще находится в команде выбора, какие сторонние библиотеки и какие версии использовать.
О внутренностях в сторонних библиотеках, я бы не против. Когда вы компилируете свой проект в первый раз, и некоторые библиотеки не будут скопированы в вашу папку bin из-за неявных зависимостей, вы можете добавить внешний атрибут в вашу папку bin, который будет автоматически проверять отсутствующие библиотеки. Таким образом, вам все еще нужно обновить свои сторонние библиотеки только в одном месте.