In our case the nodes and clients build bootstrap lists of previously connected nodes. Much like skype used to do. So you may connect to a seed node initially but you do not need to. All you need is to know an endpoint on the network (can be provided in many way, even email etc.).
After you have connected once (and you will disconnect from a seed node) you should have a list of nodes to connect to if they are still running. Only going off line for a while may mean you go back to seed nodes.
Still not perfect, but not polling seed nodes every startup is a good first start. Client apps (launcher) should be able to take endpoints as an option on start as well if you do not wish to ever use seed nodes. So that all needs tidy up, but the API etc. is all there to do so.
[EDIT, I should say you would need to have IP:PORT and public key in the endpoint]