Наиболее распространенным местом будет:
string path = Environment.GetFolderPath(
Environment.SpecialFolder.ApplicationData);
Но есть и другие значения Environment.SpecialFolder, которые могут быть полезны. И, конечно же, есть папка пользователя Documents
.
И вы говорите, что вам не нужен временный файл, но если он вам нужен в 1 сеансе,
string path = System.IO.Path.GetTempFileName();
может быть очень полезным.