Store material without an object
The material isn't deleted with the object; the former will only have 0 users and hence will be deleted on reopening the file. To avoid that use Fake User option:


  Gives the material a ‘fake user’, to keep the material data-block saved in the blend-file, even if it has no real users.




More info on datablocks and fake user - What does "users" means in term of datablocks ?