There isn't really one "correct" way...there are multiple ways to do it. So much depends on the data set…to decide which approach works well in each situation.
One approach is to do a fully alternative-specific design in MBC, where each alternative gets its own categorical dependent variables (such as color, speed, price, etc.) and the alternative-specific constant captures the utility of the alternative, holding all else equal. Also, you'll have some binary (yes/no) availability variables to indicate whether a concept is available or not. MBC dummy-codes the design matrix such that level 1 is the reference (0) level and level 2 is the “1” (true or "on") state, so you’ll want to code the availability variables as 1=not available and 2=available.
Let's imagine there are 3 alternatives in the task plus a None. Imagine the 3rd alternative is always present but the first two are sometimes there and sometimes gone. All three alternatives have two attributes (color, price).
Setup of the raw data .csv file (to feed into MBC software, which has automatic capabilities to actually create the design matrix) would be to have one row per choice task: columns would be respnum followed by color and price (for each of three alternatives) followed by two availability variables followed by dependent variable. So, each row has 10 columns. (When an alternative is not available, its color and price variables are left missing.)
When you set up the logit or HB-logit run, you'd specify that the color and price variables were only predictive of the alternative they belong to. The availability variables also would be predictive only of the alternatives they are associated with.
This is an interesting model, because it formally captures any violations of IIA via the availability effects. Most conjoint researchers use individual-level modeling and go with the simpler IIA-ruled model (no availability effects). But, when IIA doesn’t hold very well, such a model as you are proposing can perform better.