Le système est pas mal.
Concernant le métro, la séparation avec des lettres n'est pas choquante mais on perd un lien avec le tram, qui est également un mode fort de transport. A homogénéiser, homogénéisons

Pour les trolleybus en site propre (on remarquera l'esquive du terme Cristalis), il serait bon de leur trouver un petit préfixe : le site propre donne plus de puissance à ces lignes. Pareil, pour l'homogénéité, une lettre de préfixe. Je proposerai quand j'aurai une idée car le T pour trolleybus est déjà pris.
La suppression des lignes à branche est une bonne chose car c'est un bon moyen de faire se perdre les gens. Dans la logique, une ligne ne fait qu'un trajet par sens. Laissons Paris et ses RER A1 A2 qui font se mélanger les pinceaux aux usagers.
Evidemment, Givors fait partie de l'agglo donc pas besoin de se justifier pour l'intégration au sein des lignes régulières.
Tant qu'à proposer une refonte complète, il pourrait être bien de regrouper les lignes par centre d'échange, comme les couleurs, mais également sur les numéros : on attribue une ou plusieurs dizaines à un centre d'échanges.
Pour les lignes express, je ne vois pas d'intérêt à enlever leur E, sauf si tu me dis que l'itinéraire n'est pas si express que ça. A ce moment là ok

Les Zi et les navettes, je suis du même avis que toi, pas besoin de les préfixer. Une simple numérotation à part suffit.
Le CG69 à partir de 1000, il n'interfèrera pas avec le réseau TCL, ça me va.
Pour parler des lignes de soirée (21h - minuit), c'est à chacun de voir si la ligne circule à l'heure souhaitée car chaque ligne termine à une heure différente, donc pas besoin de surcharger les codes. Puis pour les Pleine Lune, autant passer au P, qui évite de confondre avec les lignes de soirée (même si elles ne sont pas marquées directement)
Et bien sûr, les codes internes égaux aux codes public. Au passage, sais-tu pourquoi T1 est T1 en interne, mais que A est 301 ? S'il est possible de faire des codes avec des lettres, pourquoi ne pas utiliser ceux-là pour le métro ?