Имеет ли смысл склеивать для каждой страницы разные js библиотеки?
Склейте. Один раз клиент закеширует и всё. да и нагрузка меньше
Для каждой страницы всё в один файл склеивать не стоит, при переходе на другую страницу придется грузить те же библиотеки в составе другого файла.
Нужно делить на логические части.
Я посчитал, что этим должен заниматься фреймворк/движок, поэтому в CleverStyle CMS реализовал на уровне ядра учёт зависимостей между компонентами, чтобы подключать только нужные вещи на определённых страницах.
В результате получается как-то так:...
	<link href="/storage/pcache/_Landing_en.css?b0e10" rel="stylesheet"> 
	<link href="/storage/pcache/Landing_subscribe_modal_Landing_en.css?7874c" rel="stylesheet"> 
	<link href="/storage/pcache/Indiegogo_Landing_en.css?9251c" rel="stylesheet"> 
...
	<script src="/storage/pcache/_Landing_en.js?79651"></script>
	<script src="/storage/pcache/Landing_subscribe_modal_Landing_en.js?4dec4"></script>
	<script src="/storage/pcache/Picturefill_Landing_en.js?2d524"></script>
	<link href="/storage/pcache/_Landing_en.html?b83ba" rel="import"> 
	<link href="/storage/pcache/Picturefill_Landing_en.html?c5e70" rel="import"> 
	<link href="/storage/pcache/Indiegogo_Landing_en.html?46867" rel="import"> 
...
К примеру, _Landing_en.js - это общие файлы для темы Landing и языка en, а Picturefill_Landing_en.html это уже от плагина Picturefill, который нужен для работы этой страницы, на других страницах его может не быть.
Всё это генерируется и собирается автоматически, ключи после ? составляются на основании содержимого файлов, то есть изменение одного файла не повлечет сброс всего кэша, а только той части, что изменилась.
Для объявления что и где нужно учитываются зависимости между компонентами, а внутри компонента есть декларативный маппинг к страницам:{
	"admin/Blogs"	: [
		"admin.css"
	],
	"Blogs"			: [
		"general.css",
		"general.js",
		"cs-blogs-post/index.html",
		"cs-blogs-posts/index.html",
		"cs-blogs-posts/cs-blogs-posts-post/index.html",
		"cs-blogs-head-actions/index.html"
	]
}