Changing contact to canonical form (adding + country_code) I am using Samsung Galaxy S2. Is there any automated way or app to change all my contacts with appropriate country code into canonical form. 

I just found that lot of my contact are there without the country code. And few apps like whatsapp, viber etc does not recognize the contact unless + is appended with country code. 

Is there any better way to do it than editing all my contacts?
You can try syncing your phone contacts with Gmail, preferably into a group. 

Then use Gmail's web interface to export that group into a Google CSV format, use a text editor to replace ",00xxx" with ",+xxx" (and do any other editing while you're at it) in the CSV file, and reimport into Gmail.