Para la pregunta 1, te recomiendo hacer un script que haga cd en cada
submodulo, y `git pull origin master` si es que quer�s hacer eso.
Sobre la segunda, s�lo se me ocurre que cambies el sha1 de alg�n
subm�dulo en la ra�z y no le hagas push a ese subm�dulo, lo cual est�
mal, pero no se me ocurre ning�n consejo salvo que tengas m�s cuidado
:P. Quiz�s podr�as agregar un hook en tu origin que no acepte commits si
se referencia a un commit que no existe, pero no estoy seguro de si se
puede o como hacerlo.
No hay ninguna estrategia m�gica que yo conozca, simplemente traer los
cambios y verificar que funcionen. Puede ser un poco dif�cil trabajar
con tantos subm�dulos, y no s� cuanto control ten�s de ellos como para
querer siempre la �ltima versi�n (�y confiar que anden!).