If (and only if) you fly Malaysian Airlines, they have a shuttle bus service directly from the city to the airport, timed to meet the flights. Advance reservations necessary. MH fares can actually be very competitive if you book in advance.
I believe that the most complete guide to traveling between SIN and JHB remains this:
http://wikitravel.org/en/Johor_Bahru