Also keep in mind that a taxi in Singapore isn't *that* expensive either - from Changi to Woodlands Checkpoint usually costs me about SG$20, so even with the 50% after midnight surcharge the worst you'd be looking at is SG$30 (or under US$20). From JB town to JB Airport a taxi will set you back RM35, or you can get the bus from JB town out to JB Airport for RM3 per person (which starts at 5:30am).
If you wanted to get a few hours of zzz's in then there's plenty of cheap options in JB town (the Compact hotel is my choice for a quick shower and kip,
www.compacthotel.com.my - if you book on the AirAsia website you can usually get it for RM100 nett including breakfast, and it's about a 2 minute walk from the causeway - the common areas are pretty run down, but the rooms are decent enough). Otherwise you can head out to the airport early and crash at the Sofitel - they have rates from US$28+tax including breakfast on the website at
www.accorhotels-asia.com and they have a free shuttle bus to the airport as well, takes about 5 minutes.