Three hands-on fixes: router bufferbloat, a cheap USB-C Ethernet dongle, and lobby rules that stop rage-quits.
Kill bufferbloat before you blame the game

I used to chalk it up to "busy servers" until I noticed the pattern: my match would feel fine, then the moment my partner started a FaceTime call, my inputs in Brawl Stars would go syrupy. That isn't magic, it's bufferbloat. Your router queues up too much traffic, and your phone's game packets get stuck behind someone else's upload like they're waiting at the world's slowest drive-thru.
Do this once and you'll know if it's your home network: open the Waveform bufferbloat test on a laptop while your phone is on the same Wi-Fi. Run the test with nothing happening, then run it again while someone streams 4K YouTube or backs up photos to iCloud. If your "loaded" latency jumps hard (you'll feel it as rubber-banding or delayed shots in stuff like Call of Duty: Mobile), you've found your villain.
The fix is boring, but it works. In your router settings, look for QoS, SQM, or "Smart Queue". Eero calls it "Optimize for Conferencing and Gaming" (in Labs), and on ASUS you'll usually see Adaptive QoS. Turn it on, then set your bandwidth limits slightly below your real speeds so the router can manage the line. If your connection is 300 Mbps down and 20 up, set it to something like 260 down and 17 up. That little haircut is the difference between steady 40 ms and a sudden 300 ms spike that turns a casual match into a slap fight.
If you can't change router settings because you're on apartment Wi-Fi or a family plan you don't control, you can still test for it. Start a match, then have someone upload a big file to Google Drive. If the game tanks exactly when the upload ramps, it's not "the app." It's the queue.
The $15 cable setup I keep for sweaty nights

When I know I'm going to play ranked for more than a couple matches, I stop pretending Wi-Fi is "good enough" and I plug my phone in like it's 2006. Not because Wi-Fi can't be fast, but because it gets inconsistent in the exact ways online play hates: interference, roaming to the wrong band, and that one dead spot where your thumb naturally wants to sit on the couch.
My go-to kit is small enough to live in a drawer: a USB-C to Ethernet adapter (Anker and UGREEN both make solid ones) and a short Cat6 cable. If you're on iPhone with Lightning, the most reliable path I've used is Apple's Lightning to USB 3 Camera Adapter plus a USB Ethernet dongle. It looks absurd. It also turns the "my shots aren't registering" complaint into either a skill issue or a server issue, which is at least honest.
Here's the part people miss: don't just plug in and assume you're wired. On Android, some skins will still prefer Wi-Fi unless you toggle it off, and a few cheap adapters get flaky when the phone is charging. I test it the dumb way. I open a match, glance at the in-game ping meter (or enable it in settings if the game hides it), then I toggle Wi-Fi off. If ping stays stable and the match doesn't freeze, I'm truly on Ethernet. If it drops the connection, I wasn't.
Also, set expectations with the room. Wired doesn't fix everything. If you're matching cross-region at 2 a.m. because your friend invited you into a lobby hosted on the other side of the country, you're still going to feel delay. What the cable does is remove the extra chaos inside your own house so the only latency left is the internet distance you can't control.
The best side effect: voice chat stops doing that robot-gurgle thing right when the fight starts. If you use Discord on mobile while you play, you know exactly what I mean.
Make a lobby rule that prevents the slow bleed

Most friend groups don't explode because someone is "toxic." They fall apart from a slow bleed: one person queues ranked while distracted, another person can't resist alt-tabbing to TikTok, and somebody rage-quits on the first bad round. Casual mobile games are supposed to be light, but online play adds stakes the second you can lose progress, trophies, or a win streak in front of people you know.
The fix that has kept my own group together isn't a lecture. It's one small, repeatable lobby rule, written once in the Discord channel topic so nobody has to play referee every night: we only play ranked if everyone opts in before we queue. If even one person says "I just ate" or "my Wi-Fi is weird," we do unranked, custom rooms, or co-op modes instead. The mood stays goofy, and nobody gets trapped in that awful dynamic where one player is grinding while the rest are half-present.
Two more rules that sound picky but save friendships:
- No surprise invites mid-match. If you pull someone into a lobby while they're already playing, they show up flustered, you queue too fast, and the first game is a mess. We wait for a clear "ready" in chat.
- Call your region. If the host is on West and someone on East is complaining about "lag," it's not a mystery. Swap host and see if the whole room improves. A lot of mobile games quietly anchor matches to the party leader.
This isn't about being strict. It's about acknowledging what online play does to people. The second a game starts handing out visible ranks, brains get weird. A simple opt-in keeps the night from turning into a courtroom where everyone argues about who threw.
And if someone keeps bailing the moment they're down? Don't roast them. Put them on "duos only" for a while. Fewer teammates means fewer people they can disappoint, and they usually chill out on their own.