Sorry to hear about the bad hotel experience in SA.
My own experience has always been nothing but positive. Even youth hostels I have found clean and offering comfortable accomodation (compared to Europe especially), with usually friendly staff. Outside the chain hotels, it is one of things I really enjoy about SA: the very friendly and amiable staff and generally always being guaranteed of getting a clean and comfortable place, it not always luxurious and grand (that's for home, IMHO).
Sandton north of Joburg has some excellent properties. Some very expensive (i.e. Michelangelo), but there is also a Holiday Inn that supposedly is pretty decent and has an excellent central location.