What is the proper way to create levels with massive BSPs?

The first level is from the ShooterGame example project.

The second level is created by me.

The second level is inspired by the bloodstrike map in Counter-Strike.

The Steps is as follows:

1、Drag and edit BSPs to Create A 1/4 part of the level

2、Copy and Mirror the 1/4 part into a full level.

3、refine the sizes and positions of many BSPs.

4、attach materials to BSPs.

problem happens in the 3 and 4 steps.

If I change the size or position of a wall, all most every adjacent and descendantly adjacent BSPs need re-position.

And there are so many surfaces to set materials to. Just selecting the right surfaces is boring and prone to make errors.
I know UE4 provides several ways to select surfaces.

AND this is all most a simpliest level.

Just have a look of the Sanctuary level. So complicated! So many BSPs! what if you change the size of the hall? So many BSPs to move! oh, I cann’t imagine!

would anyone tell me, how this level with massive BSPs is created?