One low-hanging fruit fix would be to have NPCs in dialog continue to make perception checks in real-time and interrupt that dialog if something alarming is happening (e.g. if they notice someone trying to sneak up behind them or stealing from them or other situation-appropriate behaviors). You wouldn't need to put everyone into turn-based mode, but NPCs wouldn't be totally de-clawed by having one party member start a conversation and just not respond.