Violence probably was justified against Batista. You have to separate the initial act from what followed. Instead of free elections and due process, Cuba got dictatorship, the shooting of prisoners, and all the wearily familiar features of dictatorship.
The Soviet Ambassador wasn't subject to South Africa's demented ideas of racial purity, no. But he represented a tyranny that denied its citizens their most basic rights, and tended to shoot them if they tried to emigrate. Is equally oppressing your citizens really an improvement? To me that regime is just as evil as South Africa. In a different way, perhaps, but no higher up the moral ladder.
And on a pragmatic note, allowing an embassy isn't an act of approval. We've allowed embassies for all kinds of ghastly dictators, from Pinochet to Saddam Hussein. Some of these regimes imposed racist policies -- Saddam's treatment of the Kurds is just one example. Where's the line to be drawn?
OK, I'm not going to argue with you too much because I genuinely think your heart is in the right place. But the correct thing for the UK and other countries to have done would have been to have opened up a South Africa embassy staffed by representatives of a government in exile – effectively the ANC. I believe there is a precedence for this, of sorts, in the historical recognition/non-recognition of China/Taiwan. This wasn't done, not least because the UK and other countries had lucrative business dealings with the apartheid regime, to the shame of every single person involved in those dealings.
The suppression of the Kurds by Saddam (and Turkey, don't forget) is not equivalent. An ethnic Kurd in Baghdad would not have been refused entry to any restaurant on the basis of their ethnicity, at least not legally.
I cannot possibly agree that the Soviet regime was 'just as evil' as South Africa. South Africa was inherently evil – its evil was an integral part of its makeup. The Soviet Union performed evil acts in practice, but the idea of the Soviet Union was no more evil than the idea of the UK. The Soviet Union was a very very different place in the 1930–50s from the 1970s–80s. Apartheid South Africa was, by definition, incapable of such reform.
Regarding Cuba, I am not a fan of Castro – his suppression of opposition and free speech is something that I could never support – but to equate the Cuban regime of the 1960s with other, much more bloody and brutal dictatorships is wrong. From within the regime, there was a remarkable amount of criticism – watch Gutierrez Alea's film
Memories of Underdevelopment for an example. There were unjust state executions, yes – as there have been in many supposed democracies. But there was also a great deal of social reform that was progressive – ending racial segregation, huge literacy and health programmes, for instance. Remember that this was one of the last states in the Americas to end slavery and the poorest Cubans lived in terrible conditions. The regime tackled this.
I can't forgive Castro his 'if you are not with me, you are against me' attitude (the self-same words uttered to the world by George Bush after 9/11, of course), but it is simplistic to dismiss his regime as just another dictatorship because they did not immediately institute a liberal democracy, especially given the threat from the North that was constantly present. Castro, unlike his brother, was not really a communist in 1959. He was a nationalist. It can be argued that it was the hostility of the USA towards the revolution that made Fidel into a communist. At first the US considered supporting it until they discovered that the social plans were beyond anything they could tolerate in one of their client states – see Arbenz and Guatemala in 1954 for another example of this intolerance of reform. Without the consent of the US, 'free' elections would have been anything but, and another nasty US-approved strongman would have been likely.
Cuba does not submit easily to simple black and white analysis.
Edited to add:
Some of the best people I met in Cuba were among the few sincere communists left there. If I were Cuban, I certainly wouldn't be like them and I thought them often either naive or, more likely, in a state of huge denial. But they were kind, generous and hugely giving. Good people can be communists. I struggle to see, however, how a good person can be a white supremacist – their treatment of other people as sub-people disqualifies them from this categorisation.
That's my final go at making you see how apartheid South Africa was different.