This is doable but I think cutting out Johannesburg would help. I would fly straight down to Cape Town and spend Sunday / Monday there. I would then look to fly on Tuesday to one of the game reserves and spend Tuesday / Wednesday / Thursday nights there, flying back to JNB on Friday to connect with your flight home. That gives you 3 nights in Cape Town and 3 nights on safari.
There are lots of safari options - you could fly CPT - SZK direct and stay in the public reserve or with one of the private lodges or fly CPT - HDS and stay at one of the lodges in the Timbavati.
There are direct flights from both SZK and HDS back to JNB.
Something else to think about - November is not a great time of year for safari - it will be really hot.