Halt so viel Abstand wie möglich zu anderen Hunden. Führe Deinen Hund immer auf der von Fremdhunden abgewandten Seite. Beschütze ihn demonstrativ vor anderen Hunden. Wenn Du es in die Hand nimmst, andere Hunde auf Abstand zu halten, muss Dein Kleiner das nicht mehr tun.
Anstelle von Hundeschulen würde ich Einzelstunden bei einem Trainer nehmen. Der kann Dir zeigen, wie Du Deinem Hund beweisen kannst, dass Du ihn beschützt, und Deine Fehler korrigieren.
Was eine Kastration für diese Problematik bringen soll, weiß ich nicht.
Von den Gedanken, was andere über Euch denken, solltest Du Dich frei machen. Du kennst Deinen Hund am besten, arbeitest an dem Problem, da kann es Dir völlig egal sein, was andere sagen oder denken. Diese Gedanken blockieren Dich, so kannst Du Deinem Hund nicht helfen.