... set things up so the browser communicates over ssl without giving the user a scary "identity of server not confirmed" warning?
Authentication of the server is done to make sure that the communication is done with the expected server instead of some attacker trying to impersonate the server. It is necessary to protect against active man in the middle attacks where the attacker could decrypt and even modify the traffic.
Authentication of the server is thus essential to provide the protection SSL is promising, encryption without authentication is not sufficient. That's why browsers will complain if the certificate can not be properly verified, for example because the issuer of the certificate is not trusted as in case of self-signed certificates or attacks. It would be very bad if the server could just disable this verification since an attacker could then do this too.
If I want to buy a https certificate I think the fee is something like $25 per year per domain.
Since several years it is no longer necessary to actually buy a certificate since there are CA which offer these for free - most prominently Let's Encrypt which started two years ago. Several hosting providers even integrate such free certificates already in their offerings for free and with trivial setup or at least provide instructions on how to setup these certificates yourself. If your hosting provider makes it too hard to use such free certificates you should maybe switch the provider.