I have same problem - too many visits from Direct link.
Google analytics shows xxx visits, while prestashop shows xxxx visits, and 90% are from Direct link.
How stats module count different visitors?
I've studied www logs and noticed, that some customers while browsing site had several time changes of IPs (that can happen in some providers with mobile connections).
Could it be, that customer with dynamically changing IP every time logged - first time when he visit site from some source and each other time when he gets new IP as "direct"?
Same happens with some bots - they also change IP several time while accessing pages.