1) Use a custom column of type series.
2) I like my "dirty" workaround, and I don't really understand what point you think you are making about them. What difference does it make if there is a number there you are ignoring? Surely there must be something there anyway, to indicate null -- that is what the zero was invented for, so we could express non-existence.
If you really, really want... change the default value.
Preferences ==> Advanced ==> Tweaks.
tweak value of Auto increment series index
Code:
series_index_auto_increment = '0'
And what does it being a float or not have anything to do with the price in China? For that matter, why are you so sure of what goes on in Goodreads' backend?
Series in calibre is capped at 2 decimals anyway, as if that made any difference.