There's no best practice for this; instead you set the parameters according to the needs of your program.
There are certain technical requirements which will depend on the capabilitis of your OpenGL implementation, so I would suggest reviewing the glTexParameter documentation where the requirements for each parameter are discussed.
One I will highlight is that if you are using a GL_TEXTURE_MIN_FILTER with one of the MIPMAP options in it, you must have also specified a full mipmap chain when specifying the texture.
A common mistake is that the initial value of GL_TEXTURE_MIN_FILTER is GL_NEAREST_MIPMAP_LINEAR, so if you (1) don't specify a full mipmap chain, but also (2) don't specify a GL_TEXTURE_MIN_FILTER without mipmaps, you'll have an invalid combination of state.
Personally I would recommend using glTexStorage and sampler objects instead of glTexImage and texture parameters. glTexStorage will help you avoid accidentally creating incomplete textures, and sampler objects are more flexible in that they decouple these states from the texture object.