how to find a mesh tips
Use the convex hull.

The routine to find the minimum volume bounding box involves the creation of the convex hull. It occurs that the extreme points will be vertices on the convex hull. 

Test script. Uses BMesh.ops.convex_hull(...) to create a convex hull mesh where the extreme points will coincide with vertex locations. The two furthest from the origin are chosen and an empty added at those locations. (Assumes the origin is already at center of geometry)

import bpy
import bmesh

context = bpy.context
ob = context.object
me = ob.data
bm = bmesh.new()
bm.from_mesh(me)
ret = bmesh.ops.convex_hull(bm, input=bm.verts)

verts = sorted([v for v in ret["geom"] 
        if isinstance(v, bmesh.types.BMVert)],
        key = lambda v : v.co.length)

for v in verts[-2:]:
    loc = ob.matrix_world * v.co
    bpy.ops.object.empty_add(location=loc)


Notes: simple example above grabs two furthest from origin verts in convex hull. To find the 2nd furthest would find the furthest from the first furthest.  Will be arbitrary for something symmetrical like the sphere, where each point is radius from origin.


Simple test result on oblong