Need for Temperature Compensation of Current Mirror
The three main steps are

a) Use as much emitter degeneration as you can
b) Match the temperatures of Q1 and Q2
c) Match the dissipation of Q1 and Q2

For (b), at the very least, glue Q1 and Q2 together. Far better is to use a monolithic transistor array like the CA3046, which constains 5 transistors made on the same substrate. For a really hardcore thermally matched pair, the LM394 'SuperMatch' pair uses thousands of transistor die connected like a chess board.

Q5 not only increases the output impedance, but also controls the dissipation in Q4. Play with series drops on Q5 base or emitter to equalise the Q3/4 dissipation match.

A slightly more complicated solution with less bandwidth but much more precision is to do away with Q1, and use an op-amp to drive Q2 to equalise the voltage drops on Re1/2. Replacing Q2 with a FET eliminates any beta variation contribution to the output accuracy well. Then you only need to be concerned about amplifier Vos drift with temperature, and tempco or Re1/2 resistors.