Pick some random location, then scan upward and check PointContents each time. Once you hit a good spot, scan around it and if there's anything around it pick a new point.
Once you find enough space, make a bunch of func_walls or something to make a small room.