Mark messages as being read after a specific time-out
The message shouldn't be marked as read immediately. The message should be marked as read after letting the cursor still over a specific time interval (say 5 seconds).
Also the user should have a possibility to mark the message as being unread again, e.g. by clicking the grey/green ball which signalises whether the message has been read.
This behaviour mostly copes the behaviour of Thunderbird.