ADC max value = 409.6 and ADC min value = 20.48
Not sure how a register that only returns integers between 0 and 1023 can actually return n.6 or n.88 but anyway...
The fact is that your active range is 409.6 - 20.48= 389.12. So if you end up with a value in the range 20.48 to 409.6 first subtract 20.48 from it.
Now you have a value 0 .. 389.12. Assuming you want this to represent 0..100% then clearly you need to divide by 3.8912.
So say the value from your formula is 237.4 then 273.4 - 20.48 is 252.92 and 252.92 / 3.8912 is 64.997 so a reading of 273.4 is 64.997% and so on.
This is just simple algebra - don't try to "over think" this. It's simply an instanc of y=mx + c (a straight line).