I spent some time thinking about this last night (after I drew up specs for a simple pagination script for my articles script) and thought of this...
Have it so that it still works off rounding, but rounds to the tenths place, so if your rating is say 4.7 it will round to 4.5, and if it's 4.8 it'll round up to 5 stars... Then if it's 4.2 it rounds to 4 stars, and 4.3+ gets 4.5 stars... (or we can keep the full stars we have now, and do much the same thing, where .5 or above rounds up, or below .5 rounds down)