Looking around, I read that every time a token is moved, the one hosting the server is sending the whole token bakc to the players.
Now, my connection is not the best out there, and even tho I asked the players to get smaller tokens (under 45-50kb) the problem seems to persist. Especially when they are moving much around like when exploring or such.
You don't need to make the tokens smaller. Like Jagged said, it's really the info that's being stored on the token that's being sent every time the token is "updated".
I suspect 1 and/or 2 things:
1) Are you using individual FoW? If so, every move is storing additional FoW data on each token. This gets quite large after awhile.
2) Low memory settings. What memory settings are you using?
So I was thinking, I recently learned how to use repositories and thought: usually everyone is responsible for their tokens and gets to drop them when the session starts, but what if I put their tokens in the repository as well? Would they still get the file from my computer?
Or would they download it from the server lightening the strain on my connection?
Once they've downloaded the token once, their computers have cached the image. The repository only helps with that initial download. So, in short, it's not going to fix your problem.
Keep in mind that if the issue is pretty consistent, you could try saving and restarting the server every few hours. But using higher memory settings and turning off individual FoW could also buy you a lot of extra time.