Python proper abstract class and subclassing with attributes and methods
I don't see much of problems with using properties as abstract attributes e.g:

class Foo(abc.ABC):
    @property
    @abc.abstractmethod
    def bar(self):
        ...


However, if you still don't like it instead of going for your ninja stackoverflow way there is an easy way in python 3.6. 

class Foo(abc.ABC):
    def __init_subclass__(cls, **kwargs):
        if not hasattr(cls, 'bar'):
            raise NotImplementedError('damn')
        return super().__init_subclass__(**kwargs)


As for one instance per class just look for python Singleton implementations.