Rather than trying to do anything sophisticated I decided to use a special routine to tunnel away the walls in those dead end corridor situations. It's actually working nicely, because dead ends are present only in about 50% of levels and even then in 1-4 of rooms. The room is then marked as "broken" so nothing special is generated in that room and it may actually get a special room type where it looks like someone broke the room (broken items etc.)
What happens next with rooms is something I want to keep as secret, but in theory everything gets more complicated. I'm also going through the rest of level generation in hope to get each component present and ready for testing. I want to get level generation in a state where I can start to add special features without breaking the level structure.