Activate face by script
Set the active face

To set the active face 

me.polygons.active = &lt;index of face&gt;


or via bmesh

bm.faces.active = &lt;BMFace&gt;


Bmesh

Can use bmesh  in edit mode, bound to the object being edited. Takes away the need to toggle modes

Notice I set the mode to face.  Otherwise would need to flush the selection.

import bpy
import bmesh
context = bpy.context

context.tool_settings.mesh_select_mode = (False, False, True) # faces
ob = context.edit_object
me = ob.data

bm = bmesh.from_edit_mesh(me)

faces = sorted(bm.faces, key=lambda f:f.calc_area())
bf = faces.pop()
bf.select = True
for f in faces:
    f.select = False
bm.faces.active = bf
bmesh.update_edit_mesh(me)


In object mode can set all to false by looping or via 

import bpy
context = bpy.context
context.tool_settings.mesh_select_mode = (False, False, True) # faces
# deselect all polygons

ob = context.object
me = ob.data
all_false  = [False] * len(me.polygons)
mp = sorted(me.polygons, key=lambda p: p.area).pop()
me.polygons.foreach_set("select", all_false)
mp.select = True
me.polygons.active = mp.index


set random active face in python without toggle mode

Is the active object and zeroth selected object always the same?