well, this is not quite a bandgap. this circuit makes a ptat current of (kt/q)ln
/R. don't know how to reduce the temp sensitivity.
ptat is proportional to absolute temp - it is linearly rising with temp.
in order to get a magic voltage, you need to dump this current into a diode plus resistor. diode voltage drops with temp, so scale the resistor to cancel the two slopes to give a flat voltage at room. it may not be exactly 1.25v, every process has a different magic voltage - even two cells in the same process may have different voltages for the flat area at room.
pmos size should be long and large to match. scale the pmos to have vdsat=150mV and you should be OK. longer pmos (or more op-amp gain) will reduce sensitivity to Vdd/PSRR (same thing). try for op amp gain of 55-65dB. any more and you'll have a hard time to stabilize - i suggest just using a simple op amp out of any CMOS book.
can you upload your plot of vout vs temp - that should help