How can I hide (but not delete) core pages?

The custom theme approach, as @manton suggests, is definitely the most elegant. If you’re okay with a hack, you could add this to your custom CSS.

/* Hide the last two list items in the header navigation. */
.header > nav li:nth-last-child(-n+2) {
  display: none;
}

Ideas are percolating for how we could better handle plug-in pages via nifty user interfaces in this thread. So, hopefully, this will get better in the future.