After a year wasted trying to troubleshoot, tweak, and having tried every software based advice I could find, I finally took the hardware solution. It is as everyone suspects that the culprit was the ultra slow write/read 5400rpm terabyte HDD (Mine was the Ideapad 320-14IKB). Compounded with the 4GB ram it was a perfect disaster of never ending read/writes between RAM and HDD. It also drastically reduced battery life.
I got my self the Samsung EVO 860 240GB SSD ( in hindsight I should have went for the 500GB since I was dual bootng Linux, but ... heh ) , a 9mm 2nd SSD Caddy and swapped out the optical drive for the SSD, leaving the 1TB HDD in as a secondary storage space. For good measure I even added in a HyperX 16GB DDR4 RAM as I didn't want to be bothered with future upgrades. Might as well go all out. I didn't have much choice on RAM brands where I come from so I had to get the faster but costlier 2400mhz which was useless since the built in 4GB runs on 2133Mhz a. Thus making the total to 20GB RAM.
Suffice to say, fast is an understatement.
I REALLY recommend the Samsung EVO 860 , it is at least 50% faster than all the other brands , and depending on your Ideapad 320 model , some can even be fitted with the mSata or M2 type SSD which is even faster. Check your model type to see which type is available to you.
If you only use your laptop for normal tasks and you are on a budget then only get the 240GB SSD along with a 4GB-8GB RAM.
Tips :
1. DELETE ALL PARTITIONS AND DO A FRESH INSTALL. If you are like me (incompetent) ,then I strongly advise that you delete ALL the partitions from ALL the drives (SSD & HDD) . Avoid all that data migration crap because it will really come back to haunt you, trust me. It's not worth the time figuring how to get the system to recognize the SSD as the primary drive (conflicting MBR records from the HDD etc etc).
2. Leave the HDD secondary storage unpartitioned. Only do the partitions on a need basis and in smaller chunks (~100GB). It gives you alot of flexibility.