The answer, at least with ArcPy Data Access cursors, is that you cannot avoid the behavior you are seeing because of a known defect with ArcPy Data Access cursors. From BUG-000091314: When using the data access module and an update curs..:
Bug BUG-000091314
Synopsis
When using the data access module and an update cursor, row values cannot be updated to null.
Alternate Solution
Use the old update cursor or use the Calculate Field geoprocessing tool.
This defect was logged in 2015, which means it was logged right after Pro 1.0 was released, and the defect still exists today in Pro 2.9.x, so I would not be holding your breath for a resolution any time soon.