Okay, so I've looked over a ton of sites for the same issue I'm having, and the only solution I've found to my error was sticking with 1.7.x.
Basically, about 40 percent of the time when I connect to servers it will give me one of three errors:
Connection lost: timed out.
Connection lost: disconnected.
Connection lost: Error while write (...) Broken pipe.
It's not like I can just connect again to the server afterwards: I have to restart Minecraft to connect. Also, I can usually connect to main lobbies of servers, but when I click on a minigame it'll give me the error.
I'm using Oracle Java 8 on Ubuntu 15.10, but I've also tried using OpenJDK 7 and 8. I had long suspected my connection was at fault, but I don't have the same issue with my two computers with Debian7.
Does anyone have any ideas on what could be wrong or how to fix this?