Is there an efficient way to calibrate the battery than using some apps?
The best method is the manual DIY method :D

Step 1: Drain your battery by using it normally until it turns off by itself 
Step 2: Power-on your phone, if it wakes up and you see some power left, do step 1
Step 3: If phone is now drained to the point it can't wake up, Charge it to 100%
Step 4: Once fully charged, power-on phone, and charge it again. Leave it until completely charged
Step 5: Unplug, use, and enjoy.

This makes the phone remember the minimum and maximum voltage, discharge rate and other factors that constitute the battery capacity

WARNING: Do not do this frequently! It will put strain on Li-ion batteries that majority of phones use now. Do this if and only if you are noticing shutdowns on yellow battery bar, cannot charge 100%, and erratic battery capacity display. But still I do this once a month to keep my battery calibrated.