I know this may dash one's ego and brilliance, however maybe you could conform the waterfill entity behavior like all other entities in the game. Pretty abstract right? Each entity in the game, all the objects you place on the map... yes those, when you place one top of you by accident, there is message, that says, "PLAYER IN THEY WAY" or something like that. The entity won't kill you. What do you think? Too hard right?
If you have a look at the CanalBuilder code, it works by extending the offshore-pump prototype as a dummy entity, then uses an event handler for "on_built_entity" and "on_robot_built_entity" to replace all the dummies with water. You could use a chest or something as the dummy entity if you just want it to be placeable on land.
For plain waterfill it also might be possible to modify landfill to place water so you can re-use it's features like the user being able to change brush size.