- Make sure your search preferences are set to "best". It can take longer to search for games but it is usually worth it.
- I hardwire my Xbox and assign it a static IP address
- Make sure you port forward on your router
Somewhat contrary to your experience, I always have issues when I first join a lobby. 'Fired an entire clip into someone with zero hit markers' kind of issues. However, I find that the connection improves if I just stick with it for a few games. Takes some zen-like inner control, but it results in the game I'm looking to play, so worth it in the end.