You make good points.
However, a local .zip library without a library.properties file works as I would expect. The Arduino IDE prompts you about overwriting an existing version when you try to install a new library with an existing name. However, if the library has a library.properties file with a version in it, the IDE fails with an internal error. It seems like this behavior could be improved.