What is the issue with it not catching up? Is it the amount of data required?
To be honest I am not really sure - initially I just assumed it was due to living in China (as accessing a lot of internet can be slow here especially if it involves connecting to nodes that are outside of China) but when I was back in Australia for a month it was no better (it never managed to catch up the one month it was behind and I let it run for at least ten hours per day).
Perhaps the laptop I'm using is simply too slow to handle all the ECDSA signature verification in a timely fashion - when the next version is released (which will have the much faster ECDSA stuff that has been developed by Core) I will upgrade and see how it goes.
Obviously if the block sizes get much bigger I'm not even going to bother trying to run a full version of Bitcoin (and I suspect there are probably others who are facing the same situation).