buenas...
una forma que puedes optar es hacerle un shuffle al array y luego iteras el array en orden. aunque la iteración es secuencial, cada elemento elemento está reoganizado aleatoriamente. un algoritmo bien corto para el shuffle – aunque he escuchado que no es efectivo. en todo caso, se garantiza que no repetiras el mismo elemento.
Código:
Array.prototype.shuffle = function(){
this.sort(function(){ return Math.round(Math.random()) -.5; });
return this;
};