Firstly, singletons are can be bad. There are a few threads here on the Ranch discussing this, you might try to find them out.
Secondly, singleton can achieve two things: share one object's state among many users, and reduce overhead of costly object creation. A class with no instance variables does not have a state to share, and at the same time it is not costly at all to create objects of such class.
And lastly, but probably most importantly: class with no instance variables does not have to be instantiated at all - simply declare all its methods static.
Suppose if a class is not having any instance variable
Any specific reason for having class like this?
is getting invoked very frequently
Well, technically, you don't invoke a class, but instantiate a class (i.e. make an object) and invoke methods on it.
is it a good practice to make it a singleton class
Again, making a class to singleton class has its own overheads, and should not be done unless absolutely necessary. Do you really need it? Will two or more instance of that class will create any problem?