It doesn't look like you need generics for this list, so you can have the interface implement a non-generic interface:
interface IFoo<out T> : IFoo { }
That way, all of your objects implement the same interface. This may not be a bad idea, since they do have something in common. Now you can simply use a List<IFoo>
.