As I didn't got any perfect solution, I am posting down a fix which I made with the help of jQuery.
$(document).ready(function(){
$("th.ms-vh > table").click(function(){
var intervalID = setInterval(startCheck, 500); // >>> on table header(column) click, execute startCheck function continously(every 0.5 second)
setTimeout(function(){clearInterval(intervalID);}, 5000); // >> stop execution after 5 seconds
});
});
function startCheck(){
if( $("li.ms-core-menu-item[text='Descending'][type='option']").length > 0 ){ // >>> Check if context menu is loaded
// >>> get onclick script from <li>
var desScript = $("li.ms-core-menu-item[text='Descending'][type='option']").attr("onmenuclick").toString().replace("descending","'descending'");
var ascScript = $("li.ms-core-menu-item[text='Ascending'][type='option']").attr("onmenuclick").toString().replace("ascending","'ascending'");
// >>> set onclick and href attribute of <a> tags for Ascending and Descending menu options
$("li.ms-core-menu-item[text='Descending'] > a").attr("href", desScript);
$("li.ms-core-menu-item[text='Ascending'] > a").attr("href", ascScript);
$("li.ms-core-menu-item[text='Descending'] > a")[0].setAttribute('onclick',desScript);
$("li.ms-core-menu-item[text='Ascending'] > a")[0].setAttribute("onclick", ascScript);
}
}