Хорошо, я нашел ответ.Использование scipy.sparse.coo_matrix намного быстрее, чем использование lil_matrix.Я преобразовал матрицы в coo (безболезненно и быстро), а затем просто добавил данные, строки и столбцы после добавления правильного заполнения.
data = scipy.concatenate((m1S.data,bridgeS.data,bridgeTS.data,m2S.data))
rows = scipy.concatenate((m1S.row,bridgeS.row,bridgeTS.row + m1S.shape[0],m2S.row + m1S.shape[0]))
cols = scipy.concatenate((m1S.col,bridgeS.col+ m1S.shape[1],bridgeTS.col ,m2S.col + m1S.shape[1]))
scipy.sparse.coo_matrix((data,(rows,cols)),shape=(m1S.shape[0]+m2S.shape[0],m1S.shape[1]+m2S.shape[1]) )