How can I ensure some structure for classes for a plug-in system written in Python?
You did not mention which Python version you are targeting. If the ABCMeta metaclass does not seem to be working you are probably on Python 3 where you must apply a metaclass in this manner:

class Feature(metaclass=abc.ABCMeta):




To answer your main question, one possible approach is this: let the base class check the arguments, and call a different, abstract method to do the work. Subclasses will then override the abstract method only.

class Feature(object):
    __metaclass__ = abc.ABCMeta

    def __call__(self, handwritten_data):
        assert isinstance(handwritten_data, HandwrittenData.HandwrittenData), \
            "handwritten data is not of type HandwrittenData, but of %r" % \
            type(handwritten_data)
        return self._call(handwritten_data)

    @abc.abstractmethod
    def _call(self, handwritten_data):
        pass