I think you might be able to use onPlayerDisconnected and record the time when a player leaves (using _id, so they can't just change name and reconnect). Then, check in onPlayerConnected to see if they are either new, or have disconnected more than 2 minutes ago. If too long, stop them doing anything, say by setPosing them in place until the time they would have respawned. They can still escape out of the game then (disableUserInput is always rude).
A simpler alternative would be to prevent anyone from doing anything when they start, so relogging wouldn't actually be faster. Even easier is to just kill them in init.sqf ;P I know this sounds draconian, but players can still use the map, plan and communicate when they are in this "dead" phase.
EDIT: Realised I suggested something that couldn't work. Provided an alternative.