Please don't think of it as sacrificing random level generation. Instead, think of it this way: the level generator will place the walls, and the doors. Once this is done, it will look at the room configurations. So, if you've got a huge open space, it could be a repair bay (storage), firing range (military), swimming pool (civilian) or operating theatre (medical). There are just some OPTIONS. Items within them would be randomly placed, and wouldn't be the same every time.
I'm not saying "Hey, we need to have the same office with two chairs and long desk on level 3 main tower!" I'm saying "Alright there's a room with one exit on level three of the main tower. Maybe it could be an office?"