Najlepszym rozwiązaniem jest zmniejszenie ilości załączanych plików do jak najmniejszej liczby czyli po jednym pliku JS / CSS.
Ja to zrobiłem tak iż mam w pliku *.ini spis resourców, takich jak jQuery, tinymce, swfuploader, swfobject ... itp. W momencie gdy potrzebuje jakiegoś resource na podstronie wrzucam
$thid->_addViewResource( ); // array / string resourców
Do tego w pliku *.ini mam hierarchie resource'ów - który po którym dziedziczy, czyli jak chce coś skorzystać z jQuery nie muszę się martwić już o załączenie jQuery, robi to za mnie skrypt.
Teraz najważniejsze: gdy ładowane są resourcy do strony tworzony jest plik _cached_md5. (css / js) który zawiera połączone pliki js lub css które wykorzystuję na stronie, na wersji development plki się zawsze tworzą i nie jest dokonywana kompresja pliku (wycinanie białych znaków itp~~), zaś na produkcji pliki są cachowane, oczywiście dla każdej sytuacji (innej kombinacji resourców) jest inny plik, ale zawsze jeden i do tego skompresowany.
Wydaje mi się że jest no najlepsze wyjście niż robienie to ręcznie lub załączania wielu plików, chociaż ciekawi mnie jakie mogą być tego minusy

Edit:
Plusy:
- możliwość posiadania wielu plików js / css, nawe dla każdej podstrony inny tylko to co potrzebujemy - a na stronei zawsze będzie jeden
- łatwość w dorzucaniu nowych plików, zamiast np. dorzucać 10 plików wpisujemy tylko nazwę resource'u jaki chcemy dodać
Minusy:
- kontrolowanie kolejności plików w pliku ini
- gdy brak PHP w wersji 5.3 mniejsza możliwość dodawania plików oddzielnie z wykorzystaniem pliku ini (ustawianie flagi na append powoduje że plik dodaje się normalnie i oddzielnie od tego generowanego)