Have you thought about using (a part of) the cable itself as a shunt resistor?
You will have some drift when the temperature of the copper changes, but HALL sensors are not the most accurate either.
That's definitely not a reliable way to measure current. Wonder why so many people in the world uses Hall sensors and expensive shunts...
I warmly second the LEM advice. Plenty of choice, well specified accuracy, bandwidth, etc.
Plus, you can choose the current output type (the most common one), which ensures quite good noise immunity when you bring the output signal through few meters wire (in other words, the typical closed-loop LEM sensors work as 1:N Current Transformers, except they also work with DC).