Shift the powers to make a polynomial; store the max degree in the data structure (somewhat like RealDigits)l
u = b/y^3 + c + a y^2;
coeffs =(* {coefficient list, max degree}*)
 {CoefficientList[u/y^Exponent[Series[u, y -> 0], y], y], 
  Exponent[u, y]}
(*  {{b, 0, 0, c, 0, a}, 2}  *)
Reconstruct the expression:
First[coeffs] . (y^Range[Last[coeffs] - Length@First[coeffs] + 1, Last[coeffs]])
(*  c + b/y^3 + a y^2  *)