Before iMessage, Textfree was pretty good. There was a headache to teach people that if they wanted to text you, to text using a different phone number (sort of like Google voice maybe?) That way if they wanted to stick with SMS, at least I wouldn't get the bill.
Port your number to Google Voice, and you won't get stuck with any SMS bill, period. Doesn't matter if the other person has iPhone, Android, Blackberry or any other device. Doesn't matter if you have Android, Blackberry, or iOS(I should mention that it's a pain on everything besides Android, but some people might not mind that).
If you're still on contract, you have to either wait until your contract expires or you will be charged an ETF by your carrier. If you're charged an ETF, get a new number from your carrier and pick a new subsidized iPhone 4S. Sell it for $400 and profit...or keep it and sell your old phone if you want.
I ported my phone # that everyone has of me to Google Voice.
Anytime I call or text, that's the only number people see. I also receive all calls and texts sent to that number immediately.
Calling and haggling people that they should call on one number and text me on another is no longer required. Google has been allowing people to port their number to Google Voice for almost a year now, if not longer.
Not a single person knows what my current "real" phone number is with my cell phone carrier. Heck, even I don't know what it is unless I go "Settings >> About Phone >> which displays my number."
And regardless of whether I'm with iOS, Android, AT&T, Verizon, or prepaid, I get to keep that number anywhere I go, anywhere in the world.
Google Voice is a pain to use on iOS because you always have to open the app, wait, and do everything from there.
On Android however, it's completely seamless. Just text or phone like you normally would. Set Google Voice as your "default" once for all voice calls/SMS and forget it. No need to open any app.
Here's an excellent article about that.
http://searchengineland.com/my-life-with-google-voice-number-porting-six-months-in-62384