indeed this is a very good question, it's been asked several times...this time based on the rotate trick Is it possible to transform a selected gradient in javascript? I got some results (trial and error), I'm not sure what's happening though, the script seems to be unable to transform a gradient two times, here's what I've got.
// transform gradients findings
// select a path item with a gradient applied to it before running the script
var idoc = app.activeDocument;
var ipath = idoc.selection[0];
var fillcolor = ipath.fillColor;
ipath.filled = false; // remove previous gradient transformations, to be able to apply new ones ??
ipath.fillColor = fillcolor; // re apply the same gradient color, without transformations.
ipath.fillOverprint = ipath.fillOverprint; // without this, the gradient won't move or scale, but it does rotate ??
var moveMatrix = app.getTranslationMatrix(50, 0);
var scale_moveMatrix = app.concatenateScaleMatrix (moveMatrix, 75, 50);
var move_scale_rotateMatrix = app.concatenateRotationMatrix (scale_moveMatrix, 15);
ipath.transform(move_scale_rotateMatrix,false,false,true,false,0, Transformation.CENTER);