When you are travelling long distances in China, the best way is by train. It's efficient, safe and relatively comfortable. "Hard sleeper" class is the best deal. You don't want to travel "hard seat" for more than 6 hours (trust me, it IS hard!) and "soft seat" is so expensive, you might as well fly. "Soft sleeper" is slightly better than hard sleeper, but it isn't worth the extra cost. So, hard sleeper is the way to go. (Remember to bring your own toilet paper- there is none on the train!)
Buses in China are not always safe, especially down near the Laos/Vietnam border area. They can also be delayed easily- sometimes for hours- and they range from fairly comfortable to cramped, noisy and smokey.
Around any train station in China you will find lots of cheap hotels. They are NOT the safest, cleanest or quietest, but they are cheap, and convenient. Always negotiate the price, as only chumps pay the price posted on the walls.
Between Kuala Lumpur, Malaysia, and Singapore there is a really nice, affordable train. I'd recommend it.
Good luck on your trip!