Use a smaller value shunt resistor 1m maybe, that will reduce your power consumption dramatically but require more gain on your opamp, you don't want shunt resistors warm if you can help it. But if you're stuck with that particular shunt value the 3W you're using is fine, just make sure it has some space on the PCB and if possible attach a heatsink to it.
Very hot is relative as well. If you can still touch it it's not 'very' hot.
Wrap something around it..... A heat sink is an aluminum sleave that spreads heat out over it's surface allowing it to dissipate heat. They weren't saying use a transistor to dissipate heat just that some older style transistors use heat sinks that will work on a shunt resistor.
Then it's over 71C; if it boils water it's over 100C.
1.5w for >51C rise above ambient is a thermal resistance of 51/1.5 = >34 degrees C per watt.
Some of these resistors can stand way more than the 175C for semicond. junctions so it may be OK for this resistor to get this hot.
Make sure you have decent air flow around the resistor though. You did already say it was away from the board which should be fine, I see power resistors mounted on stand about 2cm's from the board on many charge control circuits. I don't know how much that temperature increase effects the linearity of your current reading though.
When you fit a power resistor to a pcb, its a good idea to mount the resistor above the pcb surface, leaving a gap for cooling air.
If possible, when the leads of the resistor are long, use a small screwdriver as a mandril and wrap the end wires of the resistor around the screwdriver blade to form a coil.
That is, dont crop the resistor wires short.
This small coil will help to cool the resistor and what is important is to keep the heat from the pcb track.
Many power resistor connections fail at the pcb track/solder joint.