あなたがリストした要件を直接満たすライブラリは知りませんが、SVG DOM を使用して単純にスクリプト化することは難しくないと思います。
最初のタスクでは、2 つの図形をグループ化するのが最も簡単なように思えます。
var shape1 = document.getElementById("shape1");
var shape2 = document.getElementById("shape2");
var newG = document.createElementNS(svgNs,"g");
shape1.parentNode.removeChild(shape1);
shape2.parentNode.removeChild(shape2);
newG.appendChild(shape1);
newG.appendChild(shape2);
2 番目のタスクでは、形状の境界ボックスを取得して、その中心点を見つけることができます。
var bbox = shape1.getBBox();
var centrePoint = {x:bbox.x + bbox.width/2, y:bbox.y + bbox.height/2};
3 番目のタスクでは、シェイプをコピーして、スケール変換を適用できます。
var shape1Clone = shape1.cloneNode(true);
shape1Clone.setAttributeNS(null,"transform","scale(.75)")
これを自動化してリモート マシンで実行できるようにするには、Apache Batik ライブラリを使用し、Rhino でスクリプトを作成します。これを行う方法の例については、これを見てください。