Truth be told, I almost had this happen once but just before it was too late I discovered that I did in fact have cherry shrimp in my tank. I didn't know I had them in the tank (it was full of large rainbows) but when the co2 was too high they were the first to the surface, where I discovered them.
It looks like cherry shrimp can be somewhat early indicators.
My otos bite it before the cherry shrimp. Those are my indicators.
I added a second diffuser to my 50g last night, but cut the bubble rate to both in half. Woke up this morning to a dead oto and a bunch of surface breathing roselines. Pulled my outflow up immediately and turned the bubble rate down a little bit. ugh.
Cherry shrimp were fine though, all motoring away at the bottom of the tank as usual.
I think with some fish it's hard to tell when they're having a hard time breathing, so it's important when adjusting your CO2 to be around while it's adjusting. I usually do my adjusting on the weekend if my co2 is in need of adjusting for that reason.
Sorry about your loss.. it's tragic, but really no reason to quit the hobby!