The current Visit Duration Tracking is okay, but it works only if the visitor views more than one page (0 actions = 0s).
My suggestion is to track the Visit Duration via JavaScript, like Google Analytics & Co.
If the visitor opens a new page, you can use the current visit duration (difference last visit time, visit time now), else the JS Visit Duration time is used.
Would be nice to see this feature in one of the upcoming versions of piwik.
see #2041