the best way to fill can is to do it in a layer underneath
-snip-
enable selected layer referencing
-snip-
you can also just do all of your lineart in a vector layer to make the filling more accurate, it sometimes doofs up corners and stuff with AA rasters, you can see where i had to fill gaps and the like
Since we're giving advice here I'll just contribute:
If you use one layer like me, or just don't want to use an extra layer, you could use the magic wand select the inside of the line art and lasso any spots missed.

(If your line art used a fuzzy brush then just set the selection tool to automatically expand by a few pixels)

then use the fill can set to fill the entire selection (or just individual segments) and set it's mode to darker color.

Then just fill it in with whatever colors you had in mind.

I used the color to alpha filter to get rid of the black outline just to show how the colors look.
Obviously the brush I used wasn't exactly the best for this but for finer/bolder lines it works alright.