Noch eine mechanische Idee:
Kleb einen Zylinder (Rohr etc.) mit Löchern unten in den Kanister und häng den Schwimmer dort rein. Dann bekommt der Schwimmer evtl. weniger davon mit.
Idee für ne Softwareumsetzung wäre: Du misst die Zeit wie lange die Pumpe nach Anschalten durch den Schwimmer benötigt, um auf das Ausgangsniveau leer zu pumpen. Die Zeit plus etwas Puffer nutzt du als Pulse-Time. Könnte das evtl. klappen ?