For the technically skilled, there is BlueBubbles to get iMessage on Android. I set this up recently and it works quite well. I’m running a MacOS Ventura virtual machine using docker-osx on one of my personal servers and pretty much all iMessage functionality is available. I modified the Android (flutter) project locally to get my own push notifications working using my self-hosted ntfy instance as a UnifiedPush provider instead of needing to use Firebase.
There is also Beeper which bridges iMessage and many other chat services in one app, but I wanted something fully open source that I can manage myself, plus I think there’s still a wait-list and I didn’t want to hand over my Apple ID to a third party.
It’s hard trying to convince people (esp. iPhone users) to use a cross platform solution because they perceive us Android users as the problem and they know iMesssge just works. And for the non- technical, that’s understandable even if frustrating. So as a software engineer, I am the one making accomodations so they can still use iMessage. But it also made for a fun project for me to learn about.