Why does PostGIS create an ugly table in my database called "spatial_ref_sys"?
Why, given that it's an extension/"PG library" of sorts, doesn't it at least use its own schema, as to separate itself from my own stuff? 


If you want it to use a separate schema, you can put it there:

create schema postgis;
create extension postgis with schema postgis;


Unfortunately you can't move it after the fact, other than by dropping and re-creating, which could be very messy if you are already using it.