Normally I'm inclined to agree with you, but not for this one. The reason being is that I don't like scripts which has instructions that say 'Place me above all other custom scripts', imagine how confusing that must be if someone got a few scripts which mentioned that in the instructions. Thus even if the user must wait a few extra milliseconds for their game to start up or I wasted my time somewhat by making it, it doesn't confuse people which is the way I like things.
The issue with aliasing, is that you don't know where to put it. It could work either above or below, but depending on what the method you are aliasing does, determines where the script can be placed.
Because you have no idea what behaviour custom scripts may change, the decision is primarily dictated by the necessary order of your own version. If yours is of a greater priority than any other script can possibly implement (such as bug fixes to default/core scripts), even following an aliased method requires yours to come first, above all others. In this example, removing those two options (save and formation) is a fairly paramount requirement for the user so you would want your version executed before any custom script gets a chance to start messing with the behaviour. Thus, your script is required to be above any other custom script which may alias make_command_list.
Overwriting is more important to state where it should belong, since adding the overwritten method after any other implementation will negate it. Typically, unless you are intentionally negating an implementation, overwritten methods should be placed as close to the original source as possible, so as to be implemented before it can be aliased.
To be honest, you can also create a blank entry directly underneath Window_MenuCommand for the overwrite/alias, or even add the new method at the end of that script itself (though a separate script entry is better as you can tell instantly that it exists).
Note: I use 'yours' loosely, and not specifically at this particular example.
As an amend, I did do a different version of a script snippet using aliasing:
#==============================================================================
# ** Window_MenuCommand
#------------------------------------------------------------------------------
# This command window appears on the menu screen.
#==============================================================================
class Window_MenuCommand < Window_Command
#--------------------------------------------------------------------------
# * Add Main Commands to List
#--------------------------------------------------------------------------
alias loganf_removeformationoption_makecommandlist make_command_list
def make_command_list
loganf_removeformationoption_makecommandlist
@list.reject! { |item|
item[:symbol] == :save || item[:symbol] == :formation
}
end
end
I can, however, understand your concern regarding potential concern. When a script states something like "above all other scripts" it does tend to imply that the other scripts "use the same methods/classes as this one". This is why clarity in the instructions is key.
In my case, I simply stated to place it at the top of the list because it is closest to the source (Window_MenuCommand) whilst still being in the Materials section. It doesn't actually matter that it is placed at the top, but it does need to be placed above any custom menu scripts.