Last time i checked last year there weren't many options to migrate to, mostly Matrix communities (which are not quite the same thing) and Revolt Chat (which is a non-federated but FOSS and self-hostable drop-in replacement for Discord). Revolt sounds like the logical route as it's clearly designed for just this exact role, but it seems it's still early in development and not yet ready for the average Discord user (looks like the voice functions in particular are still in development)
Has this changed or improved since then? I feel like the use case of "IRC servers, but modern!" should have been solved years ago but feels like it hasn't, i have lots of non-technical people who heavily use Discord who I'd love to rescue from it before it starts actively burning, a replacement that isn't complicated and has all it's features would be welcome.
I recently started my own Matrix home server. It seems fine for chatting. "Communities" has been replaced by Spaces can act like Discords servers, Inside of that space you can nest other spaces or rooms which would be like channels in discord. Element recently added video channels as an experimental feature. and it looks like you can disable webcam and only allow mic when you connect to one so it could act as a "voice channel". Overall it is pretty basic in features but usable. It doesn't help that the available features are different depending on the client used. Bridging is great, I have discord, signal, and sms coming to element on my computer so I only have one application for all of my messaging. I'm looking forward to the further development of Matrix. Voice rooms, custom emoji, and adding gifs to chat would make it basically perfect for me
Originally I was looking into Revolt but couldn't get a self hosted instance running. My experience with system admin is pretty limited so this was likely an error on my part. I don't like that accounts can't be federated so users would have to make a separate account for each revolt server which would be a pain. The developers have stated that as a case against self hosting and prefer users join their centralized server to grow the platform. Last time I checked they aren't looking into a way to add it since it sounds like it would have to heavily overhaul the protocol. This is one of the main reasons I went with matrix. Issue #25 on their github has a lot of troubleshooting and discussion of people trying to self-host I recommence reading through it if you are planning on setting it up, although If I remember correctly voice chat is not functional on a third-party servers. If self hosing isn't an goal then most of this is irrelevant.
Spacebar chat was also mentioned in another comment. I'm gonna have to look into it and see how it compares to matrix