I've hacked on this a little and I think I've got it doing Album Rating as an average of only those tracks that have a rating. So if you have 10 tracks and only 2 are rated, in only considers the ratings from those 2 tracks. Here's the smartlist definition:
[Media Type]=[Audio]
[=save(0,v_albumratingsum[album artist (auto)][album])1]=1
[=if(compare([rating],>,0),save(math([rating]+load(v_albumratingsum[album artist (auto)][album])),v_albumratingsum[album artist (auto)][album]),)1]=1
[=save(0,v_rated_tracks[album artist (auto)][album])1]=1
[=if(compare([rating],>,0),save(math(1+load(v_rated_tracks[album artist (auto)][album])),v_rated_tracks[album artist (auto)][album]),)1]=1
~sort=[Album Artist (auto)],[Album],[Track #],[Media Type],[Disc #],[Name]
...and the Expression Column for Album Rating:
formatnumber(math( load(v_albumratingsum[album artist (auto)][album]) / load(v_rated_tracks[album artist (auto)][album]) ),2)
Give it a try and let me know how it works.
Brian.