I have a trigger on the user object which calls an external web service to assign some values to every newly inserted user but now client want to insert the user's via batch(which we don't have access to) so I want to know if we can call web service without future or any way to solve this problem.
You can use a callout in batch Apex, to do that you must specify
Database.AllowsCallouts in the class definition as explained in this link.
For example the syntax will be:
global class SearchAndReplace implements Database.Batchable<sObject>,
//Business logic you want by implementing Batchable interface methods
Also, you can refer to this link for implementation.