As Rick mentioned, you can implement support for multiple schemas in component link by creating your own abstract base class, from which your different models types will inherit. There are couple of caveats, so I am posting detailed step by step instructions here:

1. Create Base class

    public abstract class BaseSchemaModelABC : EntityModel
    {
        public string CommonProperty { get; set; }
    }

2. Create models for multiple schemas that will inherit from Base class

    [SemanticEntity(EntityName = "SchemaB", Prefix = "s", Vocab = CoreVocabulary)]
    public class SchemaModelB : BaseSchemaModelABC
    {
        public string FieldB { get; set; }
    }

3. Register Models in AreaRegistration.cs

    RegisterViewModel("SchemaAView", typeof(SchemaModelA), controllerName: "NameOfCustomController");