This could sound strange, but sometimes it is better to have completely no data on your smartphone than having bad data connection.
It could even make sense to manually disable data or activate airplane mode.
There are many applications which are designed to work fine offline. Fully or partly.
For instance, Palabre (my offline RSS reader), or Booking (my, well, booking.com app), or Here (my backup offline maps) and many others. However, when these applications “think” that my phone has an internet connection they try to use it. Some apps, including Palabre, loads advertisement banners. Meanwhile, apps like booking try to synchronize data with a server or get some updates or load pictures (I believe Gmail does this).
The problem is – when data connection is bad, or even very bad user interface of such applications is waiting till something will be loaded from the internet and partially or totally blocked.
When mobile data is disabled applications detect that smartphone has no internet connection and continue in offline mode. What is fine for apps which fundamentally useful offline.
Time to time I have to use this trick. Not that often, but still more often than I would prefer.