I have done almost exactly the same itinerary a little over a year ago. After checking prices + options I finally did:
• SIN - HKT on Jetstar
• HKT - BKK on Thai (one way ticket!)
• BKK- KUL on Malaysia Airlines (also one way)
• KUL - Sin on a luxury bus
The thing that really helped me was the availability of affordable one way tickets on both Thai and Malaysia Airlines.