Senti guardando il grafico noto che hai 2 grossi problemi:
1) scarso parallelismo
2) valanga di roba

Questo è il mio con gdm, che spreca un po' di roba perché mi avvia roba inutile (tipo G-Shell nonostante usi XFCE...), ma nonostante tutto faccio 23 secondi.
Come puoi notare i miei processi sono molto parallelizzati, partono insieme, tipo da modprobe a VBox*, i vari blkid, hald eccetera.
La perdita di efficienza ce l'ho con la roba di GNOME (ma che strano :

:) e con quella roba in basso a partire da kworker.
Intanto voglio farti una domanda di curiosità: te in GRUB hai messo delle partizioni specificandole con UUID ?
Ora elenco i processi che non capiscono perché siano lì:
fsck > non parte una volta ogni 33 mount?
rm >

Che c'è da rimuovere?
swapon > la swap dev'essere avviata espressamente? mai visto swapon in un bootchart
swapon > come, un'altra volta?
loadkeys > presumo sia per avere la tastiera italiana prima dell'accesso, ossia nelle shell, confermi?
Per velocizzare...
bash > c'è chi sostituisce bash con dash (credo T), ma qui neanche lo vedo bash...
init.d > hai script in init.d? Parallelizzali
readahead > readahead serve per "tracciare" ciò che viene avviato, ma dev'essere usato poche volte, vedere spiegazione a parte
mount > guarda in /etc/fstab che vengano usate le opzioni 'noatime' e 'nodiratime'
insserv > avvio per dipendenze, guarda qua:
http://wiki.debian.org/LSBInitScripts/DependencyBasedBootshell > quanti terminali hai? (dai Ctrl+Alt+F1~12 e guarda quanti ne hai) Tienine solo 4 (2 CLI e 2 GUI)
networkmanager > imposta le connessioni manualmente anziché con dhcp
kernel > mettendo 'fastboot' succede nulla?
Se tu usassi arch potresti giocare coi demoni...non so se con debian si possano avviare in background.
readaehad:
questo è un robo che guarda cosa succede nell'avvio del sistema e modifica non ricordo cosa in modo da privilegiare l'avvio di quanto ha visto.
Chiaramente quando readahead è presente e scansiona il lavoro del disco, occupa una consistente fetta nella banda di lettura, rallentando l'avvio.
Sarebbe da usare solo ogni tanto, non deve esserci ad ogni avvio.
Per capire come rallenti, immagina che ad ogni avvio dovesse essere fatto fsck...