More suitable Substitution Box
There is no such specific algorithm to find the best S-box but you can construct a Diference Distribution Table(DDT) like this and check out the values in it .A DDT is a matrix containing input differences as rows and corresponding output differences in column.

A better S-box has-
1- Lower values in its DDT
2- Less occurence of higher or highest value