From what I can tell, the listed sets are just ripped directly from the strategy dex.
I suppose a way to get around this problem without hardcoding filler moves for every Pokemon would be to have a set called "most used" or something, which would be like a blank set but the moves would be the four most used non-status moves from the most recent usage stats, though accounting for multiple formats might be a hassle, if not for the coder than for the user who suddenly has to deal with a much longer list of sets.
I suppose a way to get around this problem without hardcoding filler moves for every Pokemon would be to have a set called "most used" or something, which would be like a blank set but the moves would be the four most used non-status moves from the most recent usage stats, though accounting for multiple formats might be a hassle, if not for the coder than for the user who suddenly has to deal with a much longer list of sets.